在运行脚本时,我在Eclipse控制台中得到以下错误消息:
类已经由最新版本的Java环境(类文件版本53.0)编译,该版本的Java运行时只识别52.0以下的类文件版本。
Java版本:8 IDE: Eclipse Oxygen Firefox版本:46
在运行脚本时,我在Eclipse控制台中得到以下错误消息:
类已经由最新版本的Java环境(类文件版本53.0)编译,该版本的Java运行时只识别52.0以下的类文件版本。
Java版本:8 IDE: Eclipse Oxygen Firefox版本:46
当前回答
我在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工件
其他回答
对我来说,解决方案是按照安德烈·库兹涅佐夫在https://youtrack.jetbrains.com/issue/IDEA-251407/Failed-to-run-Android-project-in-the-Idea-20203-EAP-OutputBuildAction-has-been-compiled-by-a-more-recent-version-of-the-Java上所说的去做,总结如下:
根本原因:IDEA源码现在是基于Java 11编译的。已知的解决方法是将Java 11配置为Gradle JVM。”(Andrei“库兹涅佐夫”)
您应该检查您的Project Facets。
项目属性>项目facet
将java版本更改为您正在使用的相同版本。这对我很有用!
IDE: Eclipse Oxygen.3
要临时纠正这个问题,请执行以下操作:
1.8 .项目菜单>属性> Java编译器>编译器遵从级别>
一个永久性的解决方案可能涉及安装JDK 9。
供您参考,Java 8被称为1.8。
侧边栏
最近,我在尝试了c#之后(呼吸了一股新鲜空气)又回到了Java,并将Eclipse Oxygen安装到一个以前从未安装过Java的干净系统上。这种默认的一切都是全新安装的Eclipse Oxygen,但不知为何Eclipse无法获得自己的参数来匹配已安装的jdk。这是我创建的第二个项目,也是我第二次遇到这个头疼的问题。是时候回到c#了?
相关的问题
已被最新版本的Java运行时(类文件版本53.0)编译。
我的错误类似:“UnsupportedClassVersionError:类已被最新版本的Java运行时编译。”
解决方案:我尝试将我的JAVA版本从15更新到17,它在我的情况下工作,而不是更新编译器中的所有JRE或做其他事情。
只需下载更新版本的JAVA,并将SYSTEM Variable中的路径更改为17
返回到项目并应用以下步骤:
选择你的项目——>点击属性(最后)---->选择JAVA构建路径——>改变JRE从15到17 ---->应用——>应用并关闭
53代表java-9,所以这意味着你拥有的任何类都是用javac-9编译的,你可以尝试用jre-8运行它。要么使用javac-8重新编译该类,要么使用jre-9