我收到此错误:
由于我的Java版本。我想将.jar文件与旧版本的Java以及更新版本兼容。我的电脑不是问题,但我的观众使用旧版本的Java。我怎么能让我的程序与旧版本以及更新的版本兼容,我应该在多大程度上使用它?
答案 0 :(得分:5)
您可以返回并编译源代码并使用与特定版本的java兼容的旧版javac生成 新 jar文件。
答案 1 :(得分:0)
使用旧编译器编译jar或将java目标设置为客户端支持的版本。
要设置版本,请遵循以下主题:Setting the target version of Java in ant javac
答案 2 :(得分:0)
UnsupportedClassVersionError
不是关于JAR(JAR只是一个zip存档),而是里面的。
.class
文件只是已编译的Java源代码,并且采用称为ByteCode的格式,JVM(Java虚拟机)用于在底层平台上执行操作。字节码的格式偶尔会发生变化(Java已经在since 1991左右),因此硬编码为编译类格式的版本号通常会在JRE版本之间发生变化。
<强> TL; DR:强> 你需要做的是获取源并重新编译你想要的JRE。没有办法告诉类文件更改或与旧版本兼容。存档的JRE版本为available,但您必须注册一个帐户才能下载最新版本。
修改强>
我没注意版本号。您的.class
个文件是compiled with J2SE 1.8,而您正在运行JRE7。 Install the JRE 1.8
答案 3 :(得分:0)
仅方式确保您的代码实际上与较旧的主要Java版本兼容是在该版本的JDK下编译。虽然可以为较旧的JVM版本进行编译,但如果使用较新的JDK进行编译,则永远无法确定不使用旧JRE中不存在的方法/类。
为了确保您的代码在较新的JRE中实际运行正常,您需要使用较新的JRE 测试它。没有办法解决这个问题,虽然较新的JRE保留了很好的向后兼容性,但是会有一些细微的差异可能导致你的代码崩溃。
答案 4 :(得分:0)
您可以将NetBeans IDE用于此目的。
润GT;&GT;设置项目配置&gt;&gt;自定义&gt;&gt; 在左侧面板中,选择“来源”。 最后,选择源/二进制格式的最小JDK版本。