类已由更新版本的Java环境编译

use*_*071 41 java eclipse firefox selenium java-8

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

类已由更新版本的Java环境(类文件版本53.0)编译,此版本的Java Runtime仅识别最高为52.0的类文件版本.

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

geo*_*sey 99

您可能也会在 IntelliJ 中看到此错误,并且在 Google 中也会出现此错误。

我认为这是 Gradle 错误而不是 IDE 错误。

修复(从此处窃取)是将 Java 11 配置为 IntelliJ 中的 Gradle JVM:

文件 -> 设置 -> 构建、执行和开发 -> 构建工具 -> Gradle并将 Gradle JVM 更改为 11

在此输入图像描述

该屏幕截图也是从Jetbrains 问题中窃取的


Nit*_*hin 31

这只是一个版本不匹配.您已使用Java版本9编译代码,并且当前的JRE是版本8.尝试将JRE升级到9,因为它是最合理的选择.

  • 提供关于*logical*选项的建议可能根本不是一个好的解决方案......如果项目首先使用jre-8运行并且有人意外地针对9编译了一些模块怎么办? (11认同)
  • 你正在考虑一个小的沙箱项目; 对于企业项目 - 这绝不是一个容易的转变.例如,一些错误在8中被修复为泛型,你在7中依赖于它们的副作用; 或者`HashMap`命令已经从7改为8 ......等我已经面对这个了.*简单*说 - 移动到9是一个很好的选择,但从来不是一个简单而快速的选择 (3认同)
  • 当我运行 java -version 时,我看到 JDK 和 JRE 均为 1.8.0 。另外,在项目 - >属性 - > Java编译器1.8中还有合规性、源兼容性、生成的.class文件。另外,在Java构建路径->库中:JRE系统库[Java SE-1.8]就在那里。我仍然收到错误:“由以下原因引起:java.lang.UnsupportedClassVersionError:org/springframework/nativex/NativeListener已由更新版本的Java运行时(类文件版本55.0)编译,此版本的Java运行时仅识别类文件版本高达 52.0" 。我可以知道,这里有什么问题吗? (3认同)
  • 如果您是按照企业项目级别来表述,那么您是对的,我强烈同意这一点。在这种情况下,升级/降级从来都不是最可行的选择。 (2认同)

Eri*_*c D 16

IDE:Eclipse Oxygen.3

要暂时解决问题,请执行以下操作:

Project menu> Properties> Java Compiler> Compiler compliance level>1.8

永久修复可能涉及安装JDK 9.

FYI 1.8是Java 8的名称.

侧栏

我最近在进入C#(一股新鲜空气)之后回到了Java,并将Eclipse Oxygen安装到一个之前从未安装过Java的干净系统上.这个默认设置全部安装了Eclipse Oxygen但不知何故或其他Eclipse无法获得自己的参数来匹配安装的jdk.这是我创建的第二个项目,也是我第二次遇到这个问题.是时候回到C#了?

相关问题

已由最新版本的Java Runtime编译(类文件版本53.0)


Kar*_*lli 15

对于 Android Studio,菜单文件\xe2\x86\x92项目结构( Ctrl+ Alt+ Shift+ S)。

\n

参考图片

\n


小智 14

You can try this way

javac --release 8 yourClass.java
Run Code Online (Sandbox Code Playgroud)


Jai*_*oya 9

对我来说,解决方案是按照 Andrei Kuznetsov 在Failed to run Android project in the Idea 2020.3 EAP (OutputBuildAction has been generated by a new version of the Java Runtime (class file version 55.0)) 中所说的进行,总结如下图所示:

在此输入图像描述

根本原因:IDEA 源代码现在针对 Java 11 进行编译。已知的解决方法是将 Java 11 配置为 Gradle JVM。——安德烈·库兹涅佐夫


小智 8

对于临时解决方案,只需右键单击项目 => 属性 => Java 编译器 => 请选择编译器合规级别 1.8 => .class 兼容性 1.8 => 源兼容性 1.8

然后您的代码将开始在版本1.8上执行。


ILa*_*lly 6

在 IntelliJ 中构建 JAR 文件后,我在控制台中遇到了类似的问题。使用 Java 配置更新到较新版本(菜单Windows \xe2\x86\x92配置 Java \xe2\x86\x92更新\xe2\x86\x92立即更新)不起作用,并停留在版本 1.8 (Java 8).

\n

要在本地切换到更新版本,我必须从https://www.oracle.com/uk/java/technologies/javase-jdk15-downloads.html安装 Java 15 JDK并将其添加到我的 Java 运行时环境设置中。

\n

Java运行时环境设置

\n


inv*_*bl3 6

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

\n
Error: LinkageError occurred while loading main class ...\njava.lang.UnsupportedClassVersionError: com/.../ServiceApplication\nhas been compiled by a more recent version of the Java Runtime (class file version 62.0),\nthis version of the Java Runtime only recognizes class file versions up to 61.0\n
Run Code Online (Sandbox Code Playgroud)\n

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

\n

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

\n
    \n
  1. 命令行:

    \n
    \n
    java version "18.0.1.1" 2022-04-22\nJava(TM) SE Runtime Environment (build 18.0.1.1+2-6)\nJava HotSpot(TM) 64-Bit Server VM (build 18.0.1.1+2-6, mixed mode, sharing)\n
    Run Code Online (Sandbox Code Playgroud)\n
    \n

    在此输入图像描述

    \n
  2. \n
  3. 项目结构\xe2\x86\x92项目设置\xe2\x86\x92项目

    \n

    在此输入图像描述

    \n
  4. \n
  5. 项目结构\xe2\x86\x92项目设置\xe2\x86\x92模块

    \n

    在此输入图像描述

    \n
  6. \n
  7. 项目结构\xe2\x86\x92平台设置\xe2\x86\x92 SDK

    \n

    在此输入图像描述

    \n
  8. \n
\n

而这个问题的原因是:

\n

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

\n

在此输入图像描述

\n

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

\n
\n

如果是Maven相关的问题,可以通过指定Java编译器的and来修改POM-source-target

\n
\n

其他有用的链接:

\n
    \n
  1. 在 Maven 中设置 Java 版本
  2. \n
  3. 使用特定 Java 版本的 JAR Artifact
  4. \n
\n


Eug*_*ene 5

53代表java-9,因此意味着您使用过的任何类都已编译过,javac-9而您尝试使用运行它jre-8javac-8使用jre-9 重新编译该类


归档时间:

查看次数:

120321 次

最近记录:

5 年,10 月 前