在运行脚本时,我在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
当前回答
我写这篇文章是因为我发现其他答案很难理解。
基本上,您的JRE没有更新,并且/或Eclipse没有配置为使用最新的JRE。
在Windows操作系统下,进入“控制面板->程序-> Java ->更新”,继续更新Java
或者如果你没有Java,去甲骨文的网站下载最新的JRE。
完成后,进入eclipse,在项目视图下,右键单击项目,选择Java Build Path,双击JRE System Library,然后选择Workspace Default JRE 14.1。
如果这里没有显示最新版本的Java,则可能没有安装。检查您的JRE(不是JDK)版本,并确保它是最新的。如果是,请重新启动计算机,然后再试一次。
其他回答
从spring initizer初始化我的项目时遇到了同样的问题 我们需要匹配java的版本。“build.gradle”中用于运行和编译的sourceCompatibility和jvmTarget。kt”文件。
53代表java-9,所以这意味着你拥有的任何类都是用javac-9编译的,你可以尝试用jre-8运行它。要么使用javac-8重新编译该类,要么使用jre-9
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)编译。
我在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工件
你可能在IntelliJ中也会看到这个错误,在谷歌中也会出现。
我认为这是一个Gradle错误而不是IDE错误。
修复(从这里偷来的)是在IntelliJ中将Java 11配置为Gradle JVM:
文件->设置->构建,执行和开发->构建工具-> Gradle并将Gradle JVM更改为11
这张截图也是从《Jetbrains》中偷来的