我使用 IntelliJ 遇到了这个问题。但是我的系统上新安装了最新版本的所有内容。
… 已由 Java 运行时的更新版本(类文件版本 57.0)编译,此版本的 Java 运行时仅识别高达 52.0 的类文件版本
我已经设置:
路径为 C:\Program Files\Java\jdk-13 JAVA_HOME 为:C:\Program Files\Java\jdk-13 JRE_HOME 为:C:\Program Files\Java\jre1.8.0_221
我已经设置了路径,试图找到项目结构的变化
完整的错误信息:
H:\087-JAVA\HelloWorld\src>java com.codewithmosh.Main
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/codewithmosh/Main has been compiled by a more recent version of the Java Runtime (class file version 57.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(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
原文由 nobism 发布,翻译遵循 CC BY-SA 4.0 许可协议
您需要仔细检查
PATH
环境设置。C:\Program Files\Java\jdk-13
你目前有 那里不正确。请确保在PATH
列表的顶部有最新 JDK 版本的bin
子目录。java.exe
可执行文件位于C:\Program Files\Java\jdk-13\bin
目录中,因此这就是你需要在PATH
中拥有的内容。使用 此工具 可以快速验证或编辑 Windows 上的环境变量。它允许重新排序
PATH
条目。它还会以红色突出显示无效路径。如果您希望您的代码也能在较低的 JDK 版本上运行,请在 IDE 中更改目标字节码版本。请参阅 此答案 以获取相关屏幕截图。
另请参阅 此答案 了解 Java 类文件版本。发生的情况是,您使用 Java 13 和 13 语言级字节码(目标)构建代码,并尝试使用 Java 8 运行它,这是根据
PATH
变量配置的第一个(默认)Java 版本。The solution is to have Java 13
bin
directory inPATH
or above instead of Java 8. On Windows you may haveC:\Program Files (x86)\Common Files\Oracle\Java\javapath
added toPATH
现在自动指向 Java 8:如果是这种情况,请从
PATH
中删除突出显示的部分,然后注销/登录或重新启动以使更改生效。您需要先 以管理员 身份重新启动才能编辑系统变量(请参阅系统变量列右上角的按钮)。