Java 当我尝试使用“运行代码时”;爪哇语;命令,我得到一个错误

Java 当我尝试使用“运行代码时”;爪哇语;命令,我得到一个错误,java,unsupported-class-version,Java,Unsupported Class Version,我第一次尝试学习如何用java编程,当我尝试在cmd中运行代码时,我遇到了这个错误: Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.UnsupportedClassVersionError: Main has been compiled by a more recent version of the Java Ru

我第一次尝试学习如何用java编程,当我尝试在cmd中运行代码时,我遇到了这个错误:

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: Main has been compiled by a more recent version of the Java Runtime (class file version 56.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)

它在我使用的IDE(intelliJ)中工作

这里发生的事情是,您的系统中的Java版本比IntelliJ编译的版本要旧。它在IntelliJ中工作,因为它内部有自己的Java可执行文件


如果在命令行中运行
java-version
,它将输出系统中的版本;您可以选择它作为IDE中的编译目标,这样当您从cmd运行它时,它将正常工作。

您的答案如下:

Exception in thread "main" java.lang.UnsupportedClassVersionError: 
Main has been compiled by a more recent version of the Java Runtime 
(class file version 56.0), this version of the Java Runtime only 
recognizes class file versions up to 52.0
您的版本不匹配。您已经使用Java12在IntelliJ中编译了代码,但在cmd中使用的是Java8(您可以使用
Java-version
命令确认这一点)

解决方案是将cmd设置为java12(这可以通过在Windows中更改Java_HOME和PATH环境变量来实现)

仅供参考答案解释您在错误消息中看到的类文件版本号