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

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


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


当前回答

刷新gradle依赖为我工作:右键单击项目-> gradle ->刷新gradle项目。

其他回答

在我的情况下,我用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。

53代表java-9,所以这意味着你拥有的任何类都是用javac-9编译的,你可以尝试用jre-8运行它。要么使用javac-8重新编译该类,要么使用jre-9

在Intellij中构建Jar后,我在控制台遇到了类似的问题。使用Java配置更新到新版本(Windows -> Configure Java -> update -> update Now)不起作用,并且停留在1.8版本(Java 8)。

为了在本地切换到最新版本,我必须从https://www.oracle.com/uk/java/technologies/javase-jdk15-downloads.html安装Java 15 JDK,并将其添加到我的Java运行时环境设置中。

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

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

我在Intellij中遇到了这个错误。显然,选择java 1.8作为项目SDK并不会影响用于构建项目的javac编译器。

要更改,请进入设置->构建,执行,部署->编译器-> Java编译器,并将项目字节码版本更改为8。