无法修复不受支持的主要版本.次要版本 52.0 即使在修复兼容性后也是如此

2022-09-01 06:50:43

当我尝试在另一台计算机上运行我的java.jar时,我收到错误

不支持的主要版本.次要版本 52.0

我使用jdk 1.6编译了我的程序,我的机器(单独的一个)安装了java 7。

这是我的机器正在运行的java版本:

java version 1.7

以下是我的IDE(Eclipse Lunar)中的设置

eclipse compiler settings

eclipse JRE settings

为什么我仍然收到不受支持的错误?

我确实检查了我的运行配置并将其更改为jre6,但是当我这样做时,我甚至无法在IDE中运行我的程序。

注意:我希望我的程序与jdk 6一起使用,如果这是不可能的jdk 7。

我的班级路径:

class path


答案 1

我同意chrylis的观点:你认为你改变了项目的合规性设置,但你可能没有。

右键单击您的项目,然后:

  • Java / Build Path :转到“库”选项卡,确保自己真的在使用jre6
  • Java /编译器:确保自己选择了1.6合规性

顺便说一句,您可以“告诉”eclipse jre8 符合 1.6 标准,单击 Window/Preferences/Java/Installed JREs/Execution Environment,然后在左侧面板“执行环境”JavaSE-1.6 和兼容 JRE 的面板 jre8 中进行选择。


答案 2

嗨,我发现了这个链接,帮助我理解了这个问题。希望它是有用的。到目前为止发布的版本是

  • Java SE 8 = 52,
  • Java SE 7 = 51,
  • Java SE 6.0 = 50,
  • Java SE 5.0 = 49,
  • JDK 1.4 = 48,
  • JDK 1.3 = 47,
  • JDK 1.2 = 46,
  • JDK 1.1 = 45

从那一个数据来看,它只是意味着

许多人认为,如果Java向后兼容,为什么会出现版本不匹配错误。好吧,Java确实是向后兼容的,这意味着您可以将以较低版本(java 6)编译的Java类文件或Java二进制文件(JAR文件)运行到较高版本(例如Java 8)中,但这并不意味着您可以将使用Java 7编译的类运行到Java 5中,为什么?因为较高版本通常具有较低版本不支持的功能。

有时,您的计算机中可能安装了多个版本的 Java。确保您正在运行的应用程序指向正确的或可用的最高版本。


推荐