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

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


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


当前回答

我写这篇文章是因为我发现其他答案很难理解。

基本上,您的JRE没有更新,并且/或Eclipse没有配置为使用最新的JRE。

在Windows操作系统下,进入“控制面板->程序-> Java ->更新”,继续更新Java

或者如果你没有Java,去甲骨文的网站下载最新的JRE。

完成后,进入eclipse,在项目视图下,右键单击项目,选择Java Build Path,双击JRE System Library,然后选择Workspace Default JRE 14.1。

如果这里没有显示最新版本的Java,则可能没有安装。检查您的JRE(不是JDK)版本,并确保它是最新的。如果是,请重新启动计算机,然后再试一次。

其他回答

看起来每个人都在使用windows进行开发,但如果你使用Linux,降低你的Java版本。如果你想安装JDK 8, @Nithin提供的版本表应该会让你知道你想安装哪个版本。

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

在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运行时环境设置中。

我在Windows 10上复制了类似的问题,格式如下:

Error: LinkageError occurred while loading main class ...
java.lang.UnsupportedClassVersionError: com/.../ServiceApplication 
has been compiled by a more recent version of the Java Runtime (class file version 62.0), 
this version of the Java Runtime only recognizes class file versions up to 61.0

将项目从Java 17升级到Java 18。

我有关于Java 18的项目设置:

命令行:

Java版本“18.0.1.1”2022-04-22 Java(TM) SE运行时环境(build 18.0.1.1+2-6) Java HotSpot(TM) 64位服务器虚拟机(build 18.0.1.1+2-6,混合模式,共享)

项目结构->项目设置->项目:

项目结构->项目设置->模块:

项目结构->平台设置-> sdk:

这个问题的原因是:

我忘记为运行/调试配置指定正确的版本->构建并运行到Java 18而不是Java 17:

因为它是用较新的Java版本编译的,但运行在较旧的版本上。


如果是与maven相关的问题,您可以通过指定Java编译器的-source和-target来修改POM。


其他有用的链接:

在Maven中设置Java版本 使用特定Java版本的Jar工件

转到项目部分,点击属性>,然后到Java编译器>检查编译器的合规性级别是1.8,或者底部应该没有黄色警告