gpt4 book ai didi

java - 无法找出 NoClassDefFoundError : aspose/pdf/Paragraph 的原因

转载 作者:行者123 更新时间:2023-11-28 23:03:10 25 4
gpt4 key购买 nike

由于此 NoClassDefFound 错误,我无法加载我的 Web 应用程序的任何页面(本地在 Tomcat 7.0.2.6 上)。我不知所措,试图找出原因,这是我所知道的:

我的同事让这个项目在本地(在 Tomcat 上)和我们的开发服务器 (WebLogic) 上成功运行。

我从 svn 做了一个新的下拉,所以我的代码和他的完全一样。我已经验证我有一个对 Aspose 的共享库引用(并且所需的 .jars 在那里),并且 weblogic.xml 有一个条目。

最初在 WebLogic 上部署时,我们看到了同样的错误,因为 Aspose 库的命名不正确,但它在他的 Tomcat 服务器上本地运行良好。

我已经尝试清理和重建项目但没有效果。

据我所知,它必须是 Tomcat 问题,或者可能是 Eclipse 设置。

有没有人遇到过类似的情况?关于尝试解决此问题的任何想法?

最佳答案

您需要做的第一件事是确定您是否正在与另一个具有相同名称和包的类发生冲突。最简单的方法是使用 cygwin/linux 控制台,将这个 shell 脚本保存到一个文件中,比如 findjar

find "$1" -name "*.jar" -exec sh -c 'jar -tf {}|grep -H --label {} '$2'' \;

将它放在你的路径中并导航到服务器实例的根目录并像这样运行脚本

findjar . yourclass

注意句点,不要忘记。如果您的项目中有多个同名的类,这将返回。

一旦你确定项目是干净的并且只有一个类的副本,我会尝试将你的共享库文件夹实际添加到 websphere 服务器实例 JVM 参数中。这样做:

  1. 进入管理员,点击服务器
  2. 打开服务器类型,点击websphere application servers
  3. 你应该会看到你的服务器列在那里,点击它
  4. 在右侧,您会看到“服务器基础设施”部分,下面是“Java 和进程管理”小节
  5. 打开该部分并点击“流程定义”
  6. 在流程定义屏幕上还有一个右侧栏。点击“Java 虚拟机”
  7. 是的,我们终于来到了正确的屏幕上,我保证,尽头就在这里
  8. 在虚拟机页面上,有一个标有“类路径”的大文本字段您需要做的是输入共享库文件夹的完整路径

必须这样做很奇怪而且毫无意义,但我过去不得不这样做以允许我的代码查看共享资源中的属性文件。

关于java - 无法找出 NoClassDefFoundError : aspose/pdf/Paragraph 的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14900263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com