[英]Create executable jar with maven in eclipse - java.lang.NoClassDefFoundError
[英]java.lang.NoClassDefFoundError - Generating Executable Jar
我已经在具有Java版本1.5的Windows 2000上创建了我的JAR,其中包含以下目录/文件:
lib包含我想成为我的JAR一部分的所有JARS。 com包含我的课程文件,下面是manfiest.txt文件
Main-Class: com.as.qst.result.ResultTriggerSchedular
Class-Path: lib/axis.jar lib/c3p0-0.9.1.1.jar lib/commons-discovery-0.2.jar lib/commons-logging-1.0.4.jar lib/jaxrpc.jar lib/log4j-1.2.16.jar lib/medplus-hub-8.2-wsclients.jar lib/medplus-hub-13.1-jaxws-clients.jar lib/quartz-2.2.1.jar lib/quartz-jobs-2.2.1.jar lib/saaj.jar lib/slf4j-api-1.6.6.jar lib/slf4j-log4j12-1.6.6.jar lib/ wsdl4j-1.5.1.jar lib/xercesImpl.jar com\as\qst\result
我使用以下命令来生成我的JAR
jar cvfm test.jar manifest.txt com lib
它已经成功创建了一个JAR文件,但是当我尝试使用
java -jar test.jar
它不执行并引发异常。 我对Windows 7使用了相同的过程,该版本为1.7版,即使manifest.txt com\\as\\qst\\result
没有类文件路径,它也可以正常工作。 除了在清单中定义外,还与类路径有关吗? 为什么在Windows 7中可以使用?
您在类路径条目中不需要类文件路径。 因此, com\\as\\qst\\result
将com\\as\\qst\\result
到您的class-path
com\\as\\qst\\result
将其添加到class-path
。
此外,您不得将其他jar文件打包在可运行的jar中。
必须在您的jar文件所在的同一文件夹中提供其他必需的jar文件(可能在单独的文件夹中),并添加当前目录“。” (不带引号)到您的class-path
。
希望这可以帮助。
编辑
刚刚找到此Stackoverflow链接 。 这可能会给您带来更多的见解。 请仔细阅读。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.