【发布时间】:2012-02-06 01:29:51
【问题描述】:
我有一个独立的 java 项目。我已经执行了 Maven 全新安装。我现在通过命令提示符进入 target\classes 文件夹并在类路径中设置所有必需的文件。现在我执行主类。结果正在显示。
现在我通过命令提示符回到目标文件夹并尝试执行 jar 文件(jar 文件有一个清单文件,其中定义了主类)。
Java -cp %CLASSPATH% -jar Destination-01.19-SNAPSHOT.jar
现在我得到以下异常。我还从上面的语句中删除了 classpath 属性,但仍然得到相同的异常。所需的类设置在 classpath 变量中,这就是我能够在不使用 -jar 属性的情况下运行主类的原因。
线程“主线程”中的异常 java.lang.NoClassDefFoundError: org/apache/co mons/日志/LogFactory
【问题讨论】:
-
我认为你需要将类路径放在你的 MANIFEST 文件中
-
检查this too
-
不,不是。尝试打印
echo %CLASSPATH%并查看包含 LogFactory 类的 jar 文件是否存在。 -
谢谢。它在类路径中 - echo %CLASSPATH%:.m2\repository\commons-logging\commons-logging \1.1\commons-logging-1.1.jar;.m2\repository\log4j\log4j\1.2.14\l og4j -1.2.14.jar;如果它不在类路径中,那么我想独立的主类也不应该被执行。
-
感谢 Jake 和 Ring Bearer。我会尝试一下 - 我正在使用 Maven。罐子不会带走任何放在外面的东西吗?