在 Eclipse 中运行时如何修复 UnsupportedClassVersionError?

问题描述

我正在尝试在 Eclipse 中运行 Java 应用程序。大约一个月前我运行了它并且它起作用了,我想不出发生了什么变化。当我现在尝试运行它时,出现此错误

java.lang.UnsupportedClassversionError:data_validation/Validation 已由更新版本的 Java Runtime(类文件版本 59.0)编译,此版本的 Java运行时仅识别最高 52.0

的类文件版本

我相信正在发生的事情是它是使用 Java 15(类文件版本 59)编译的,但我正在尝试在 Java 8(类文件版本 52)中运行它。该网站对此进行了解释:https://all-learning.com/java-lang-unsupportedclassversionerror/,这里是更完整的类文件版本列表:https://javaalmanac.io/bytecode/versions/

唯一的问题是,我从未安装过 Java 15。在 C:\Program Files\Java 下,我只有 jdk1.8.0_161。那么它是如何在 Java 15 中编译的,以及如何告诉 Eclipse 在 Java 8 中编译和运行?

谢谢!

解决方法

(对不起,我的英语不好和答案的质量,这是我第一次这样做)

您好,首先您需要使用不同版本的 Java 配置 Eclipse:

我们来看看

窗口 -> 首选项

然后

Java -> 已安装的 JRE

如果您想要的 JRE 已列出,您就可以开始了。否则,您需要将 JRE 添加到 Eclipse:

在同一首选项对话框中,单击位于右侧的添加按钮,然后选择标准虚拟机并单击下一步。现在您可以选择 JRE 文件夹(在您的情况下应该是 1.8.0_161)。

现在您必须更改项目的 JRE:

右键单击您的项目 -> 构建路径 -> 配置构建路径。

选择 JRE 并单击“编辑”按钮。现在选择 Alternate JRE 并选择您的 Java 8 安装,然后点击

完成 -> 应用并关闭。

现在您必须更改编译器级别:

返回到您的项目属性,然后是 Java 编译器,然后选中启用项目特定设置,现在您可以将编译器合规性级别设置为 1.8。

注意:如果你不能改变合规级别,你只需要 取消选中“使用来自执行环境的合规性”Java Build 路径'"

希望对你有帮助!再见!