我现有的服务器上的Java 1.6上运行,我不能升级。如何链接代码,并与其他Java版本兼容
我需要的时候我写一些代码来访问其API使用一些第三方JAR/API,它是与Java 1.8
兼容,日食抛出
Exception in thread "main" java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version
我怎么能现在开始?不知道这是否是重复问题,如果是,请提供一些链接。
我现有的服务器上的Java 1.6上运行,我不能升级。如何链接代码,并与其他Java版本兼容
我需要的时候我写一些代码来访问其API使用一些第三方JAR/API,它是与Java 1.8
兼容,日食抛出
Exception in thread "main" java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version
我怎么能现在开始?不知道这是否是重复问题,如果是,请提供一些链接。
的一点是:Java虚拟机不向前兼容。
一个.class这是由“N + 1”的编译器生成的文件不能在“n”个JVM使用。 (除非您特别指示编译器来编译旧版本的Java)
您的选择:
选项1可以得到相当丑陋 - 作为库可能对系统类的依赖关系Java6没有。
不,你不能使用的环境下的Java 1.8编译罐子在Java 1.6的
运行,这是不可能使用倍数的Java版本,甚至数倍JVMs
在同一个项目
如果您真的需要这个API,那么你只有几个选择,最好的是升级所有的项目使用Java 1.8
正如别人指出,你不能这样做。但是,您可能能够找到您希望使用的较旧版本的库,并且这些库可能支持您的特定版本的Java。这可能意味着您将在您的软件中采用错误,但这就是软件随着时间推移而发展的方式。
如果您必须使用此第三方jar ,那么您必须使用-target 1.6(目标java 1.6)编译第三方jar。 也许你会得到源和自行编译或也许你会得到别人(供应商,也许)进行编译。
所有其他选项都是:
你不能兼容。每个项目只能连接一个“JDK”。如果你的库不兼容 - 更新到1.8,否则找到其他的API –