【发布时间】:2023-04-02 15:05:01
【问题描述】:
我在 Windows 2000 上创建了我的 JAR,其中包含以下目录/文件:
- manifest.txt
- com
- 库
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
它不执行并抛出上述异常。我对版本为 1.7 的 Windows 7 使用了相同的过程,即使 manifest.txt com\as\qst\result 中没有类文件路径,它也能正常工作。除了在清单中定义之外,还有什么与类路径有关吗?为什么它可以在 Windows 7 中运行?
【问题讨论】:
-
异常跟踪在哪里?
-
它抛出异常为
Exception in thread "main" java.lang.NoClassDefFoundError: com/ad/qst/result/ResultTriggerScehdular,没有别的 -
您是复制粘贴还是重新输入?因为它有多个拼写错误。
-
你可以在 lib 之前尝试“./”,让我们知道它是否有效
-
当然,但它甚至无法找到我的主要课程...
标签: java jar classpath noclassdeffounderror