问题描述
我使用 IntelliJ 遇到了这个问题.但是我的系统上新安装的所有东西都是最新版本.
...已由更新版本的 Java Runtime(类文件版本 57.0)编译,此版本的 Java Runtime 仅识别最高 52.0 的类文件版本
我已经设置好了:
PATH 为 C:Program FilesJavajdk-13JAVA_HOME 为:C:Program FilesJavajdk-13JRE_HOME 为:C:Program FilesJavajre1.8.0_221
我已经设置了路径,试图找到项目结构的变化
完整的错误信息:
H: 87-JAVAHelloWorldsrc>java com.codewithmosh.Main错误:发生 JNI 错误,请检查您的安装并重试线程main"中的异常 java.lang.UnsupportedClassVersionError: com/codewithmosh/Main 已由 Java 运行时的更新版本(类文件版本 57.0)编译,此版本的 Java 运行时仅识别最高 52.0 的类文件版本在 java.lang.ClassLoader.defineClass1(本机方法)在 java.lang.ClassLoader.defineClass(未知来源)在 java.security.SecureClassLoader.defineClass(未知来源)在 java.net.URLClassLoader.defineClass(未知来源)在 java.net.URLClassLoader.access$100(未知来源)在 java.net.URLClassLoader$1.run(未知来源)在 java.net.URLClassLoader$1.run(未知来源)在 java.security.AccessController.doPrivileged(本机方法)在 java.net.URLClassLoader.findClass(未知来源)在 java.lang.ClassLoader.loadClass(未知来源)在 sun.misc.Launcher$AppClassLoader.loadClass(未知来源)在 java.lang.ClassLoader.loadClass(未知来源)在 sun.launcher.LauncherHelper.checkAndLoadMain(未知来源)您需要仔细检查 PATH 环境设置.C:Program FilesJavajdk-13 你目前有不正确的.请确保您在 PATH 列表的顶部有最新 JDK 版本的 bin 子目录.
java.exe 可执行文件位于 C:Program FilesJavajdk-13in 目录中,因此您需要在 路径.
使用
如果是这种情况,请从 PATH 中删除突出显示的部分,然后注销/登录或重新启动以使更改生效.您需要先以管理员身份重新启动才能编辑系统变量(请参阅系统变量列右上角的按钮).
I get this problem Using IntelliJ. But I have the newest version of everything newly installed on my system.
... 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
I've set:
PATH as C:Program FilesJavajdk-13 JAVA_HOME as: C:Program FilesJavajdk-13 JRE_HOME as: C:Program FilesJavajre1.8.0_221
I've set the path, tried to find a change in the Project structure
COMPLETE ERROR MESSAGE:
H: 87-JAVAHelloWorldsrc>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)
You need to double check the PATH environment setting. C:Program FilesJavajdk-13 you currently have there is not correct. Please make sure you have the bin subdirectory for the latest JDK version at the top of the PATH list.
java.exe executable is in C:Program FilesJavajdk-13in directory, so that is what you need to have in PATH.
Use this tool to quickly verify or edit the environment variables on Windows. It allows to reorder PATH entries. It will also highlight invalid paths in red.
If you want your code to run on lower JDK versions as well, change the target bytecode version in the IDE. See this answer for the relevant screenshots.
See also this answer for the Java class file versions. What happens is that you build the code with Java 13 and 13 language level bytecode (target) and try to run it with Java 8 which is the first (default) Java version according to the PATH variable configuration.
The solution is to have Java 13 bin directory in PATH above or instead of Java 8. On Windows you may have C:Program Files (x86)Common FilesOracleJavajavapath added to PATH automatically which points to Java 8 now:
If it's the case, remove the highlighted part from PATH and then logout/login or reboot for the changes to have effect. You need to Restart as administrator first to be able to edit the System variables (see the button on the top right of the system variables column).
这篇关于已由更新版本的 Java Runtime(类文件版本 57.0)编译的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!


大气响应式网络建站服务公司织梦模板
高端大气html5设计公司网站源码
织梦dede网页模板下载素材销售下载站平台(带会员中心带筛选)
财税代理公司注册代理记账网站织梦模板(带手机端)
成人高考自考在职研究生教育机构网站源码(带手机端)
高端HTML5响应式企业集团通用类网站织梦模板(自适应手机端)