问题标签 [noclassdeffounderror]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
eclipse - java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
我实际上已经解决了这个问题,但是我花了几天的时间,所以我想我会把我的解决方案粘贴在这里以帮助其他人。
我正在使用 Fedora 11,在 Eclipse 中我尝试添加一个 Tomcat 6 服务器并启动它。我会收到以下错误:
“在 localhost 启动 Tomcat v6.0 服务器”遇到了问题。
本地主机上的服务器 Tomcat v6.0 服务器无法启动。
然后在我的控制台中,我得到了以下信息:
我将在下面的答案中发布解决方案。
java - 从 jar 运行时出现 NoClassDefFoundError
尝试在 Windows 上运行我的应用程序时出现“未找到类定义”异常(它在 OS X 上运行良好)。JVM 抱怨的类是我的类(不需要第三方 jar)。当我解压缩 jar 中的文件时,所有文件都存在,包括 JVMm 抱怨的文件。
jar 是使用以下任务创建的:
我无法弄清楚是什么导致了问题。如果我解压缩 jar 并从将类解压缩到的目录中运行 jar,则一切正常。所以,我假设所有必需的文件都在 jar 中。
编辑:com.hamza.driver.ui
是一个名为的包中的一个类,com.hamza.driver
它有main
.
构建后,我得到一个 jar“app.jar”,然后使用“java -jar app.jar”运行它,它在 OS X 上可以正常执行,但在 Windows 上不行。
如果我app.jar
在单独的目录中解压缩并运行“java -jar app.jar”,它执行得很好。
编辑2:例外:
ClipboardTransferHandle .class 文件存在于 jar 中。
编辑 3:剪贴板类的导入:
在玩它时,我发现如果我尝试ClipboardTransferHandle
在驱动程序中声明为静态变量,它可以工作,但是找不到每个不是静态的对象。所有主要的 GUI 元素都是静态变量,因此构建了 GUI,而其他元素则没有;创建的所有内容都不是静态原因NoClassDefFound
,但是如果我将它们声明为静态以进行测试,它们就会起作用。
java - NoClassDefFoundError 和 ClassNotFoundException 之间的原因和区别是什么?
NoClassDefFoundError
和 和有什么不一样ClassNotFoundException
?
是什么导致它们被抛出?如何解决?
在修改现有代码以包含新的 jar 文件时,我经常会遇到这些 throwable。对于通过 webstart 分发的 java 应用程序,我已经在客户端和服务器端点击了它们。
我遇到的可能原因:
- 不包含在
build.xml
客户端代码中的包 - 我们正在使用的新 jar 缺少运行时类路径
- 版本与之前的 jar 冲突
当我今天遇到这些时,我会采取一种试错的方法来让事情顺利进行。我需要更多的清晰和理解。
java - 大学 bash 中的 Java 因 NoClassDefFoundError 而失败
我知道有很多关于 NoClassDefFoundError 的帖子,他们似乎都在谈论 jar 文件。虽然我对 eclipse 中的 java 感到很舒服,但我很困惑为什么我能想出的最简单的事情不起作用,除非他们在大学方面破坏了一些东西。
这是抛出这个的整个 hello.java 程序:
$CLASSPATH=./:/usr/java/latest/lib:/home/41/myusername/bin
给出:
再次例外。
给出:
java - 获取 java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory 异常
我正在执行 spring 的简单依赖注入程序并得到这个异常。我已经包含了 common-logging1.1.1.jar 和 spring.jar 文件。你能帮忙吗?
java - Tomcat 6/JDK 6下Mysql/j Connector神秘卸载
感谢您花时间看我的问题。
我开发了一个 Java WAR 文件,旨在一次仅分发到一台服务器。到目前为止,我已经成功地在 3 台不同的服务器上进行了测试,一台是 Debian,一台是 Ubuntu,另一台是我正在开发的 Windows 机器。
在最终的部署服务器上,由于某种原因,应用程序部署良好,并且在每次启动时运行良好约 3 分钟。数据库连接正常,一切正常。然而 3 分钟后,每次应用程序尝试访问数据库时,我都会开始看到 NoClassDefFoundError。
我是以下库,所有这些库都打包在 WAR 文件中:
Mysql/j 连接器,最新版本 ActiveObjects,0.8.2 Jasorb 1.3 Jython 2.5.1(用于某些脚本) Tomcat 6.0.20 mod_python Apache
错误:
线程“Timer-4”中的异常 java.lang.NoClassDefFoundError: com.mysql.jdbc.Util.handleNewInstance(Util.java:430) 处的 com/mysql/jdbc/SQLError 在 com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl .java:352) 在 com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:284) 在 java.sql.DriverManager.getConnection(DriverManager.java:582) 在 java.sql.DriverManager.getConnection(DriverManager.java: 185) 在 net.java.ao.DatabaseProvider.getConnectionImpl(DatabaseProvider.java:771) 在 net.java.ao.DatabaseProvider.getConnection(DatabaseProvider.java:734) 在 net.java.ao.EntityManager.find(EntityManager.java :666) 在 net.java.ao.EntityManager.find(EntityManager.java:607) 在 net.java.ao.EntityManager.find(EntityManager.java:579)在 com.sq.sa.SAPushAlertsTask.run(SAPushAlertsTask.java:32) 在 java.util.TimerThread.mainLoop(Timer.java:512) 在 java.util.TimerThread.run(Timer.java:462) 引起作者:java.lang.ClassNotFoundException: org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:138 7) 处的 com.mysql.jdbc.SQLError org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader. java:123 3) 在 java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) ... 13 更多WebappClassLoader.loadClass(WebappClassLoader.java:138 7) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:123 3) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) ... 13更多的WebappClassLoader.loadClass(WebappClassLoader.java:138 7) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:123 3) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) ... 13更多的
java - Tomcat 的 CLASSPATH 与 Java 不同,它不包含“.”。我该如何改变它?
我一直在花费数小时试图弄清楚为什么我得到了java.lang.NoClassDefFoundError
.,并且我已经将原因缩小到 Tomcat 的类路径。
我使用下面的代码来查看路径变量包含什么:
输出是:
如您所见,Classpath 不以“.”开头。正如它应该的那样,我相信这就是为什么我的程序找不到我从 webapp 的子目录中导入的类的原因。
要查看类路径的设置位置,我做了grep -R bootstrap.jar /usr/local/tomcat/
,并且遇到了这个:(CLASSPATH="$CLASSPATH":"$CATALINA_HOME"/bin/bootstrap.jar
在文件中/usr/local/tomcat/bin/catalina.sh
)
这让我相信由于某种原因 $CLASSPATH 在这里是空的。但是,echo $CLASSPATH
成功返回.:/usr/lib/jvm/java-6-sun/bin:/usr/local/tomcat/lib/servlet-api.jar
任何人都可以帮助解决这里的问题吗?
编辑:我所有的 servlet 文件都在WEB-INF/classes/controllers/
,我试图加载的库是子目录中的类文件。例如,如果ClassName.class
在 WEB-INF/classes/controllers/packagename/ 目录中,我添加package packagename
到 的开头,然后使用inClassName.java
导入它。import packagename.*
someServlet.java
EDIT2:我已经解决了我的问题。我的主要问题是,如下所述,没有使用正确的包名称。另外,我试图从classes/controllers/
目录内部编译,而不是从classes/
. 谢谢大家的帮助!
java - 运行简单的 java 程序时出现 NOClassDefFound 错误
这段代码编译得很好,但是每当我尝试运行时,它都会给出错误提示 NoClassDefFound。有什么可能的原因和解决方法,请解释。
java - 可怕的 java.lang.NoClassDefFoundError
我已经查看了许多有关此错误的现有线程,但仍然没有运气。我什至没有尝试打包 jar 或使用任何第三方打包工具。我只是从 Eclipse 中运行(效果很好),然后尝试从命令行运行完全相同的应用程序,在它构建到的相同位置(得到这个错误)。我的目标是能够压缩 bin 文件夹并将其发送给其他人通过命令行脚本运行。一些细节:
- 它是一个命令行应用程序,我正在使用 commons-lang-2.4.jar 作为字符串实用程序。那是找不到的文件(特别是“java.lang.NoClassDefFoundError: org/apache/commons/lang/StringEscapeUtils”)
- 我的lib文件夹中有那个jar,并通过右键单击“构建路径->添加到构建路径”将其添加到Eclipse中的构建路径中
- .classpath 文件看起来正确并包含对 jar 的引用,但我假设该文件仅由 Eclipse 使用(包含这一行
<classpathentry kind="lib" path="lib/commons-lang-2.4.jar"/>
:) - 这可能与 Eclipse 工作目录设置有关吗?我在 src/templates 下创建了一些内部模板文件,我似乎可以看到这些文件的唯一方法是将项目工作目录设置为 AppName/src。也许我应该把它们放在别的地方?
让我知道是否有任何其他信息会有所帮助。当然,这很简单,但我在这一点上浪费了太多时间。这提醒了我为什么我最初在 05 年左右离开 Java ......
selenium - TestNG + Selenium 的问题。noClassDef 错误,基于 TestNG 的硒测试
我已经在线关注了很多指南和论坛帖子,但没有任何运气让它在 TestNG 中工作。这是一个基于硒网格的测试,在 Eclipse 中编程。遇到了麻烦,所以使用了这个论坛帖子建议中列出的库:http: //clearspace.openqa.org/message/66867
我正在尝试在 eclipse (org.testng.eclipse) 的 testNG 测试插件中运行该套件。还尝试通过 selenium 网格从命令行运行 jar,但无济于事。
由于我不是 Java 开发人员,老实说,我不完全确定要寻找什么。多亏了处理环境,我对 Java 有了一定的了解,但是我已经为这项任务投入了 java/eclipse 并且有点不知所措。无论如何,任何帮助表示赞赏,并提前感谢您。
这是我的代码:
套件.java:
实际测试用例
和 SeleneseTestNGHelper 类