Java 为JAR设置类路径
我有一个独立的java项目。我已经执行了maven的干净安装。现在,我通过命令提示符进入target\classes文件夹,并在classpath中设置所有必需的文件。现在我执行主类。正在显示结果 现在,我通过命令提示符返回到目标文件夹,并尝试执行jar文件(jar文件有一个清单文件,其中定义了主类) 现在我得到下面的例外。我还从上面的语句中删除了classpath属性,但仍然得到相同的异常。所需的类是在classpath变量中设置的,这就是为什么我能够在不使用-jar属性的情况下运行主类的原因 线程“Main thread”java.lang.NoClassDefFoundError中出现异常:org/apache/coJava 为JAR设置类路径,java,jar,classpath,Java,Jar,Classpath,我有一个独立的java项目。我已经执行了maven的干净安装。现在,我通过命令提示符进入target\classes文件夹,并在classpath中设置所有必需的文件。现在我执行主类。正在显示结果 现在,我通过命令提示符返回到目标文件夹,并尝试执行jar文件(jar文件有一个清单文件,其中定义了主类) 现在我得到下面的例外。我还从上面的语句中删除了classpath属性,但仍然得到相同的异常。所需的类是在classpath变量中设置的,这就是为什么我能够在不使用-jar属性的情况下运行主类的原因
mons/logging/LogFactory似乎-cp和-jar不兼容。您需要将类路径放入清单中 看 如果希望maven自动更新类路径,请参阅:-
使用
-jar
时,这是设置程序类路径的唯一机制
您必须将所需的所有jar都列在清单的类路径行中(这意味着它们需要在本地文件系统中可以找到),或者创建一个能够定位所需jar的自定义类加载器。我认为您需要将类路径放在清单文件中检查否否。尝试打印
echo%CLASSPATH%
,查看包含LogFactory类的jar文件是否存在。谢谢。它位于类路径中-did 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;如果它不在类路径中,那么我想独立的主类也不应该被执行。我将尝试一下——我正在使用Maven。罐子里装不下放在外面的东西吗?谢谢彼得!我在中设置了一个依赖项,但这并没有添加到清单中的类路径中。
Java -cp %CLASSPATH% -jar Destination-01.19-SNAPSHOT.jar