我有这个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)
有谁知道为什么会发生这种情况?