如何在不同JDK版本上工作的两方之间进行兼容性
-
15-09-2020 - |
题
我的项目是在1.4.2 jdk中构建的。 现在它将与第三方jar互动,在JDK 1.6中构建
我在使用客户端类时获得兼容性问题。 是否有可能在不将我的JDK升级到1.6或重建第三方jar中的1.4.2
解决方案
您无法在以前的jdk 1.4上运行与jdk 1.6上的jdk 1.6编译,因为您将获得一个生成的异常例外。这是由于Java不兼容,它只是向后兼容(请参阅规格)。
为了验证我已安装JDK 1.4.2.19和JDK 1.6.0.23并写了一个示例应用程序:
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello world!"); } }.
用JDK 1.6.0.23建立它:
../1.6.0.23/bin/javac HelloWorld.java
.
并使用JDK 1.4.2.19运行:
../1.4.2.19/bin/java HelloWorld
.
输出:
Exception in thread "main" java.lang.UnsupportedClassVersionError: HelloWorld (Unsupported major.minor version 50.0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:539) ....
solution :如果它没有在1.6(和1.5)中没有呼叫方法,则可以尝试使用JDK 1.4重建第三方应用程序。
不隶属于 StackOverflow