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

java.lang.NoClassDefFoundError-生成可执行Jar,java,jar,classpath,noclassdeffounderror,Java,Jar,Classpath,Noclassdeffounderror,我在Windows 2000上创建了JAR,java版本为1.5,其中包含以下目录/文件: manifest.txt com 解放党 lib包含我想成为我的罐子一部分的所有罐子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 l

我在Windows 2000上创建了JAR,java版本为1.5,其中包含以下目录/文件:

  • manifest.txt
  • com
  • 解放党
lib包含我想成为我的罐子一部分的所有罐子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

它不执行并抛出上述异常。我对1.7版的Windows 7使用了相同的过程,即使在manifest.txt
com\as\qst\result
中没有类文件路径,它也能正常工作。除了在清单中定义外,还有什么与类路径有关的吗?为什么它在Windows 7中工作?

在类路径条目中不需要类文件路径。因此,不要将
com\as\qst\result
添加到
类路径中

此外,您不能在可运行的jar中打包其他jar文件

其他必需的jar必须与jar文件位于同一文件夹中(可能位于单独的文件夹中),并将当前目录“.”(不带引号)添加到
类路径中

希望这有帮助

编辑


刚找到这个。这可能会给你更多的洞察力。请仔细阅读。

异常跟踪在哪里?它在线程“main”java.lang.NoClassDefFoundError:com/ad/qst/result/resultTriggerseChedural中以异常的形式抛出异常,您是否复制粘贴或重新键入了该异常?因为它有多个输入错误。你能在lib之前尝试“/”并让我们知道它是否有效吗?当然,它甚至找不到我的主类……我确实更改了我的类路径,将
/
添加到所有jar中,而不是将这些jar打包到我的jar中。但它仍然给出了同样的例外。我也读了这个链接,它说当清单中的主类名完成时,至少工具能够找到主类,而这在我的例子中并没有发生。在找到我的主类后,它将读取其他jar。是否将当前目录添加到类路径?