nob*_*ism 67 java sdk intellij-idea
我在使用 IntelliJ 时遇到了这个问题。但是我的系统上新安装的所有东西都是最新版本。
...已由更新版本的 Java Runtime(类文件版本 57.0)编译,此版本的 Java Runtime 仅识别最高 52.0 的类文件版本
我已经设置:
PATH 为 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)
Run Code Online (Sandbox Code Playgroud)
小智 74
最简单的解决方案是更改 IDE 中的 Java 版本。在 Intellij 中,转到 File --> Project Structure 并将 Project SDK 更改为您的 Java 运行时支持的版本(在您的情况下,它是 52,对应于版本 8 或更低)。下面的表格显示了 Java SE 版本和主要版本之间的映射:
| 爪哇SE | 主要版本 |
|---|---|
| 1.0.2 | 45 |
| 1.1 | 45 |
| 1.2 | 46 |
| 1.3 | 47 |
| 1.4 | 48 |
| 5.0 | 49 |
| 6 | 50 |
| 7 | 51 |
| 8 | 52 |
| 9 | 53 |
| 10 | 54 |
| 11 | 55 |
| 12 | 56 |
| 13 | 57 |
| 14 | 58 |
| 15 | 59 |
| 16 | 60 |
| 17 号 | 61 |
| 18 | 62 |
| 19 | 63 |
| 20 | 64 |
| 21 | 65 |
该表取自: https: //docs.oracle.com/javase/specs/jvms/se21/html/jvms-4.html
Cra*_*der 39
您需要仔细检查PATH环境设置。C:\Program Files\Java\jdk-13您目前的情况不正确。请确保您bin在PATH列表顶部有最新 JDK 版本的子目录。
java.exe可执行文件在C:\Program Files\Java\jdk-13\bin目录中,所以这是你需要在PATH.
使用此工具可在 Windows 上快速验证或编辑环境变量。它允许重新排序PATH条目。它还将以红色突出显示无效路径。
如果您还希望您的代码在较低的 JDK 版本上运行,请在 IDE 中更改目标字节码版本。有关相关屏幕截图,请参阅此答案。
有关Java 类文件版本,另请参阅此答案。发生的情况是您使用 Java 13 和 13 语言级别字节码(目标)构建代码,并尝试使用 Java 8 运行它,这是根据PATH变量配置的第一个(默认)Java 版本。
解决方案是将 Java 13bin目录放在PATH上面或代替 Java 8。在 Windows 上,您可能已经自动C:\Program Files (x86)\Common Files\Oracle\Java\javapath添加了PATH现在指向 Java 8 的目录:
如果是这种情况,请从中删除突出显示的部分PATH,然后注销/登录或重新启动以使更改生效。您需要首先以管理员身份重新启动才能编辑系统变量(请参阅系统变量列右上角的按钮)。
Mar*_*ler 12
这是 IntelliJ IDEA 中的设置($JAVA_HOME语言级别设置为 1.8):
File> Settings> Build, Execution, Deployment> Gradle>Gradle JVM
选择例如。Project SDK (corretto-1.8)(或任何其他兼容版本)。
然后删除该build目录并重新启动IDE。
我是如何在 Eclipse 中解决这个问题的:
我在尝试运行一些 Groovy 脚本时遇到了与IntelliJ类似的问题。这是我解决它的方法。
转到“项目结构”->“项目”->“项目语言级别”并选择“SDK默认”。这应该为所有项目模块使用相同的 SDK。
当我通过 Oracle 安装 JRE 并在我研究后解决了这个问题时,我遇到了同样的问题。
我移动了C:\Program Files (x86)\Common Files\Oracle\Java\javapath下面的环境路径
H:\Program Files\Java\jdk-13.0.1\bin
像这样:
小路
H:\Program Files\Java\jdk-13.0.1\bin
C:\Program Files (x86)\Common Files\Oracle\Java\javapath
或者
小路
%JAVA_HOME%
%JRE_HOME%
| 归档时间: |
|
| 查看次数: |
205829 次 |
| 最近记录: |