Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为JAR设置类路径_Java_Jar_Classpath - Fatal编程技术网

Java 为JAR设置类路径

Java 为JAR设置类路径,java,jar,classpath,Java,Jar,Classpath,我有一个独立的java项目。我已经执行了maven的干净安装。现在,我通过命令提示符进入target\classes文件夹,并在classpath中设置所有必需的文件。现在我执行主类。正在显示结果 现在,我通过命令提示符返回到目标文件夹,并尝试执行jar文件(jar文件有一个清单文件,其中定义了主类) 现在我得到下面的例外。我还从上面的语句中删除了classpath属性,但仍然得到相同的异常。所需的类是在classpath变量中设置的,这就是为什么我能够在不使用-jar属性的情况下运行主类的原因

我有一个独立的java项目。我已经执行了maven的干净安装。现在,我通过命令提示符进入target\classes文件夹,并在classpath中设置所有必需的文件。现在我执行主类。正在显示结果

现在,我通过命令提示符返回到目标文件夹,并尝试执行jar文件(jar文件有一个清单文件,其中定义了主类)

现在我得到下面的例外。我还从上面的语句中删除了classpath属性,但仍然得到相同的异常。所需的类是在classpath变量中设置的,这就是为什么我能够在不使用-jar属性的情况下运行主类的原因

线程“Main thread”java.lang.NoClassDefFoundError中出现异常:org/apache/co
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