在运行脚本时,我在Eclipse控制台中得到以下错误消息:

类已经由最新版本的Java环境(类文件版本53.0)编译,该版本的Java运行时只识别52.0以下的类文件版本。


Java版本:8 IDE: Eclipse Oxygen Firefox版本:46


当前回答

在我的情况下,我用VS2019构建一些使用ANTLR4的c++代码。 ANTLR4是基于java的,为了使用它,我运行java命令作为自定义构建步骤。

那天早些时候,我把我的新笔记本电脑上的JRE (Java运行时环境)更新到了1.8。没有思考,因为我已经有一年没有运行ANTLR4的东西了……我需要完整的JDK编译与java。所以我有一个1.8的RUNTIME,但VS2019构建shell正在寻找JDK1.7编译器。一旦我安装了1.8 JDK,一切都很好。

所以80%的时间JRE对我来说是好的…只是当我需要完整的JDK时,DOH我需要完整的JDK。

其他回答

我的错误类似:“UnsupportedClassVersionError:类已被最新版本的Java运行时编译。”

解决方案:我尝试将我的JAVA版本从15更新到17,它在我的情况下工作,而不是更新编译器中的所有JRE或做其他事情。

只需下载更新版本的JAVA,并将SYSTEM Variable中的路径更改为17

返回到项目并应用以下步骤:

选择你的项目——>点击属性(最后)---->选择JAVA构建路径——>改变JRE从15到17 ---->应用——>应用并关闭

这只是版本不匹配。您已经使用java版本9编译了代码,当前的JRE版本是版本8。尝试将JRE升级到9。

49 = Java 5
50 = Java 6
51 = Java 7
52 = Java 8
53 = Java 9
54 = Java 10
55 = Java 11
56 = Java 12
57 = Java 13
58 = Java 14
59 = Java 15
60 = Java 16
61 = Java 17
62 = Java 18
63 = Java 19

对我来说,这个问题已经通过安装旧版本的testng解决了。看起来它与我的Java 8编译

如果您正在使用IntelliJ IDEA并遇到此错误,请尝试此操作。

1. Command + , (Open Preferences)
2. Build, Execution, Deployment > Build Tools > Gradle
3. Gradle JVM > Change it to a proper version

你可以试试这种方法

javac --release 8 yourClass.java