首页 > 解决方案 > 等同于 JDK,但仍然“已由 Java 运行时的更新版本编译”

问题描述

jdk1.8.0_221用来编译(在 IntelliJ 中)。javac 1.8.0_191我的服务器上有。

为什么我仍然收到错误的任何想法,例如:

Exception in thread "main" java.lang.UnsupportedClassVersionError: pp/PP 
has been compiled by a more recent version of the Java Runtime (class file 
version 55.0), this version of the Java Runtime only recognizes class file 
versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at pp.WebServer$.main(WebServer.scala:16)
at pp.WebServer.main(WebServer.scala)

PS 工作解决方案与 Java 版本无关。见下文。

PS1 对于那些将问题标记为重复的人。其他问题是关于 Java 版本不同的情况。在我的情况下,当版本相等并解决它时,我遇到了一个错误,而 jdk 什么也不做。完全不同的情况。你应该更加细心。

标签: javajava-8

解决方案


要在 IntelliJ 中解决此类问题,请执行以下操作:文件->项目结构->项目设置->模块

在最底部的“依赖项存储格式”中选择 -> Eclipse(.classpath) -> Apply

错误消失了。


推荐阅读