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

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


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


当前回答

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

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

其他回答

在将编译器的版本配置为1.8(你需要的版本)后,尝试spring引导的旧版本,目前默认是3.0.0,但你可以尝试2.7.6。

在这里输入图像描述

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

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

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

在我的情况下,我使用IntellJ Idea和设置JDK11作为我的SDK和JDK17在gradle设置。

只要把我的SDK更新为JDK17,问题就解决了

检查“项目设置”(CMD+;) -> SDK中的JDK

with

“头参考资料”中的“gradle JVM”(CMD+) ->内置工具-> gradle JVM

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