在运行脚本时,我在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。

其他回答

你可以试试这种方法

javac --release 8 yourClass.java

对于临时解决方案,只需右键单击项目=>属性=> Java编译器=>在那里请选择编译器兼容级别1.8 => .class兼容性1.8 =>源代码兼容性1.8。

然后您的代码将开始在版本1.8上执行。

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

命令+,(打开首选项) 构建,执行,部署>构建工具> Gradle Gradle JVM >更改为合适的版本

通过导航到“设置->构建,执行,部署>构建工具> Gradle”来检查IDE中配置的Java版本

上周,我把Mac上的Android Studio从2021.2.1升级到了2021.3.1。然后我们的项目因为类似的原因而失败了:

原因:com/android/tools/idea/gradle/run/OutputBuildAction已被 由最新版本的Java运行时(类文件 version 55.0),这个版本的Java运行时只识别类 文件版本高达53.0

我在Jetbrains YouTrack论坛上发现了一些讨论:在Idea 2020.3 EAP中运行Android项目失败(OutputBuildAction已由Java运行时的最新版本(类文件版本55.0)编译)。建议的解决方法是将已定义的Gradle JDK版本更新到JDK11,但许多Android项目不支持Gradle JDK11,我的项目也是如此。

另一个解决方案是将Android Studio从2021.3.1降级到2021.2.1,这对我来说很有效。希望能有所帮助。