在 jvm 18 中运行程序时出错:Java.lang.UnsupportedClassVersionError

Error when run program in jvm 18: Java.lang.UnsupportedClassVersionError

提问人:OdisBy 提问时间:8/8/2022 更新时间:8/8/2022 访问量:654

问:

我正在尝试从 Spring Initializr 运行一个项目,当我尝试运行 Main 时出现错误。完全的错误是。gradle 设置为,但当我把它放在它上面时,它似乎可以解决问题。我想知道为什么当我降级版本时程序可以工作。java.lang.UnsupportedClassVersionError java.lang.UnsupportedClassVersionError: 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 55.0jvmTarget = 1811

Kotlin intellij-idea android-gradle-plugin java-runtime-compiler

评论

0赞 y.bedrov 8/8/2022
似乎您执行的 JDK 版本低于用于构建的版本的程序。
0赞 OdisBy 8/8/2022
问题是 18 > 11 但 11 有效,18 无效。
0赞 Quentin Genet 8/8/2022
您使用的是哪个版本的 Gradle ?https://docs.gradle.org/current/userguide/compatibility.html
0赞 OdisBy 8/8/2022
我正在使用 gradle 版本 7.5。它与 java 18 兼容。
0赞 Quentin Genet 8/8/2022
您在 IDE 中使用哪个 JDK?在您的全局设置中?在您的项目结构中?

答:

1赞 dey 8/8/2022 #1

此错误表明您使用较旧的 JRE 版本来运行而不是生成。您在 gradle 中的设置,您必须检查您的运行时版本是什么。

看来你用的是IntelliJ。 转到 Project > SDK > File > Project Structure - 检查您是否在此处设置了 Java 18。您还可以在“运行配置”中检查是否设置了正确的 JVM。

还要检查JAVA_HOME env 变量,并将此变量设置为指向您最近的 JDK。

评论

0赞 OdisBy 8/8/2022
我有 3 个目录,1.8 18 和 jbr-11,我将 jbr-11 的路径更改为 jdk 18 的路径,它解决了问题!但是非常感谢你!
0赞 OdisBy 8/8/2022 #2

我终于解决了这个问题,我不得不将项目结构中的 jetbrains 运行时更改为 jdk 18 路径。从表面上看,它解决了这个问题。