有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

javajni错误。lang.UnsupportedClassVersionError

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

public class HelloWorld{

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

}

它编译得很好,但当我尝试运行它时,会出现以下错误:

enter image description here

我相信我有最新的jdk和jre。我是java的新手,非常感谢您的帮助


共 (2) 个答案

  1. # 1 楼答案

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

    您可以在以下位置更改设置: 项目财产>;Java构建路径>;图书馆>;选择首选的JRE编译器

  2. # 2 楼答案

    从您发布的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版本