在运行脚本时,我在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
当前回答
这只是版本不匹配。您已经使用java版本9编译了代码,当前的JRE版本是版本8。尝试将JRE升级到9。
49 = Java 5
50 = Java 6
51 = Java 7
52 = Java 8
53 = Java 9
54 = Java 10
55 = Java 11
56 = Java 12
57 = Java 13
58 = Java 14
59 = Java 15
60 = Java 16
61 = Java 17
62 = Java 18
63 = Java 19
其他回答
刷新gradle依赖为我工作:右键单击项目-> gradle ->刷新gradle项目。
对我来说,解决方案是按照安德烈·库兹涅佐夫在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“库兹涅佐夫”)
我在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工件
53代表java-9,所以这意味着你拥有的任何类都是用javac-9编译的,你可以尝试用jre-8运行它。要么使用javac-8重新编译该类,要么使用jre-9
如果您正在使用IntelliJ IDEA并遇到此错误,请尝试此操作。
命令+,(打开首选项) 构建,执行,部署>构建工具> Gradle Gradle JVM >更改为合适的版本