执行.jar时的ClassNotFoundException,但不是在使用classpath

时间:2017-11-07 14:57:53

标签: java jar manifest noclassdeffounderror classnotfoundexception



我有这个Java代码,我要编译和执行。代码本身正在工作,编译正常。当我执行给出类路径的代码时,使用类似“java -cp classes:lib / * main.class parameters”的命令,它运行良好。
但问题是当我尝试生成一个jar文件并使用“java -jar file.jar parameters”之类的命令执行它时。执行此操作时,代码开始运行但崩溃时出现以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/ssl/TrustStrategy<br>
at java.lang.ClassLoader.defineClass1(Native Method)<br>
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)<br>
at [...]
Caused by: java.lang.ClassNotFoundException: org.apache.http.ssl.TrustStrategy<br>
at [...]
... 17 more


我认为它可能会错过MANIFEST的一些课程,虽然我能在互联网上找到的东西,提供这个课程的软件包是 httpcore ,它包含在那里。我试图在很多方面修改清单没有成功,所以我不相信问题出在这个文件上。
我不知道它是否有帮助,但是代码是用 ant 编译的,我有一些第三方库存储在 lib 文件夹中,该文件夹位于类路径上MANIFEST。
我在计算机上编译:

openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)

在以下计算机上运行:

java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.3) (6b24-1.11.3-1ubuntu0.12.04.1)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)



有谁知道为什么会发生这种情况?

0 个答案:

没有答案