2012-01-09 142 views
2

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

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

Java -cp %CLASSPATH% -jar Destination-01.19-SNAPSHOT.jar 

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

异常在线程 “主线” java.lang.NoClassDefFoundError:组织/阿帕奇/ CO 蒙斯/日志/的LogFactory

+1

我想你需要把类路径放在你的MANIFEST文件中 – 2012-01-09 14:12:09

+0

检查[this too](http://stackoverflow.com/questions/1510071/maven-how-can-i-add-an-arbitrary-classpath-入口到罐子) – 2012-01-09 14:15:01

+0

不是。尝试打印'echo%CLASSPATH%'并查看包含LogFactory类的** jar **文件是否存在。 – OscarRyz 2012-01-09 14:15:38

回答

4

当您使用-jar这是唯一的机制设置程序的类路径。

您必须在清单中的Class-Path行中列出您需要的所有jar(这意味着它们需要在本地文件系统中可找到),或者创建一个定制您需要的jar的自定义类加载器。