即使修复了兼容性,也无法修复不支持的major.minor版本52.0

Map*_*ple 32 java eclipse

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

不支持的major.minor版本52.0

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

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

java版本1.7

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

eclipse编译器设置

eclipse JRE设置

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

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

注意:我希望我的程序能够使用jdk 6,如果这不可能是jdk 7.

我的课程路径:

阶级路径

小智 32

我同意chrylis:你相信你改变了你的项目的合规设置,但可能你没有.

右键单击您的项目并:

  • Java /构建路径:转到"库"选项卡,确保您自己正在使用jre6
  • Java /编译器:确保您已选择1.6合规性

顺便说一下,你可以"告诉"eclipse jre8是1.6合规性点击Window/Preferences/Java/Installed JREs/Execution Environment并在左侧面板中选择Execution Environments,JavaSE-1.6和Compatible JRE面板,jre8


Bry*_*ida 14

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

  • 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.确保您运行的应用程序指向可用的正确版本或最高版本.