Java JNI错误java.lang.UnsupportedClassVersionError

时间:2019-07-13 17:29:18

标签: java

我正在尝试运行以下简单的HelloWorld代码:

public class HelloWorld{

public static void main(String[] args) {
    System.out.println("Hello, World");
}

}

它可以正常编译,但是当我尝试运行它时,出现以下错误:

enter image description here

我相信我拥有最新的jdk和jre。我是java的新手,希望对您有所帮助。

2 个答案:

答案 0 :(得分:3)

在您发布的Windows命令提示符图像中,看起来就像在Windows 7上。
where命令将显示文件java.exejavac.exe的路径。
在命令提示符处输入以下命令:

where java.exe

在安装了JDK 12.0.1的Windows 10计算机上,上述命令的输出为:

C:\Program Files\Java\jdk-12.0.1\bin\java.exe

对于javac.exe ...

where javac.exe
C:\Program Files\Java\jdk-12.0.1\bin\java.exe

javac.exe的文件夹必须必须包含在PATH环境变量中,否则where命令将找不到该文件夹​​。

java.exe的文件夹不必包含在PATH中。您可能已经定义了JAVA_HOME环境变量,但这不是必需的。

在任何情况下,如其他人所述,较低版本的JDK都无法运行使用较高版本编译的代码(尽管允许相反,即,您可以使用较低版本进行编译,然后使用较高版本运行)。

您似乎安装了多个JDK(或JRE)版本。您需要确定要使用的变量并修改PATH环境变量,以使其包含包含文件javac.exe的所需文件夹。

如果您不需要安装多个Java版本,则建议您删除所有不需要的Java版本。

答案 1 :(得分:2)

是的,看到了这样的问题,这是因为用于编译代码的jdk版本与在IDE(很有可能是Eclipse)上运行的jdk不同。

您可以在以下位置更改设置: 项目属性-> Java构建路径->库->选择首选的JRE编译器