繁体   English   中英

java.lang.NoClassDefFoundError-生成可执行的Jar

[英]java.lang.NoClassDefFoundError - Generating Executable Jar

我已经在具有Java版本1.5的Windows 2000上创建了我的JAR,其中包含以下目录/文件:

  • manifest.txt
  • COM
  • LIB

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\\resultcom\\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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM