当前位置: 首页 > 知识库问答 >
问题:

已由最新版本的Java运行时(类文件版本57.0)编译[重复]

洪开诚
2023-03-14

我用Intellij来解决这个问题。但我有最新版本的所有新安装在我的系统

...已由最新版本的Java运行时(类文件版本57.0)编译,此版本的Java运行时仅识别52.0以下的类文件版本

我已经设定了路径,试图在项目结构中找到一个变化

完整的错误消息:

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)

共有1个答案

曹均
2023-03-14

您需要再次检查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类文件版本,请参阅此答案。所发生的情况是,您使用Java13和13语言级字节码(目标)构建代码,并尝试使用Java8运行它,根据path变量配置,Java8是第一个(默认)Java版本。

解决方案是将Java13bin目录放在上面的path目录中,或者代替Java8目录。在Windows上,您可以将C:\Program Files(x86)\Common Files\Oracle\Java\JavaPath自动添加到指向Java 8的Path中:

如果是这种情况,请从path中删除突出显示的部分,然后注销/登录或重新启动以使更改生效。您需要首先以administrator的身份重新启动才能编辑系统变量(请参阅System variables列右上方的按钮)。

 类似资料:
  • 我用Intellij来解决这个问题。但我有最新版本的所有新安装在我的系统。 ...已由最新版本的Java运行时(类文件版本57.0)编译,此版本的Java运行时仅识别52.0以下的类文件版本 我已经设定: 完整的错误消息:

  • 我正在尝试启动我为Spring Boot项目构建的jar文件。首先我做了: 然后,我尝试启动jar文件,但出现以下错误: 线程“main”Java.lang.UnsupportedClassVersionError中出现异常:IT/sysdata/Helios_BackEnd_Admin/HeliosAdminBackEndApplication已由较新版本的Java运行时(类文件版本55.0)编

  • 这个问题与这个问题非常相似,除了环境和我得到这个错误的方式。我也尝试了答案中提供的解决方案,但没有运气。 我正在使用Eclipse在Computer1上开发Spring Boot应用程序。Computer1和Eclipse上的JDK/JRE版本是JDK 13.0.1。 现在,我使用eclipse mvn install创建了一个Fat-JAR并将Fat-JAR复制到Computer2。当我在Com

  • 当我使用搜索功能时,我得到一个http Status500错误。它声称 错误报告 搜索servlet代码 结果jsp

  • 问题内容: 运行Selenium脚本时,我在Eclipse控制台中收到以下错误消息: 类是由Java环境的最新版本(类文件版本53.0)编译的,此版本的Java运行时仅可识别52.0以下的类文件版本。 Java版本: IDE: Firefox版本: 问题答案: 这只是版本不匹配。您已经使用Java版本9编译了代码,而当前的JRE是版本8。请尝试将JRE升级到9。

  • 问题内容: 使用搜索功能时,出现http状态500错误。它声称 错误报告 HTTP状态500 –内部服务器错误 类型异常报告 消息SearchServlet已由Java Runtime的较新版本(类文件版本53.0)进行编译,此版本的Java Runtime仅可识别52.0以下的类文件版本(无法加载类[SearchServlet]) 描述服务器遇到意外情况,阻止其满足请求。 异常java.lang