为什么一个简单的hello world程序不能在java中运行(错误java.lang.unsupportedclassversion)

为什么一个简单的hello world程序不能在java中运行(错误java.lang.unsupportedclassversion),java,Java,这是我第一次使用java,我不知道如何解决这个问题,我甚至尝试在线搜索,但什么都没有,下面是错误: Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.UnsupportedClassVersionError: HelloWorld has been compiled by a more recent

这是我第一次使用java,我不知道如何解决这个问题,我甚至尝试在线搜索,但什么都没有,下面是错误:

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

[Done] exited with code=1 in 0.63 seconds


这是代码,非常简单:

public class HelloWorld{
    public static void main(String[] args){
        System.out.println("Ciao java!");
    }
}

您的java编译器和解释器版本不同。 看看你的输出是什么

javac -version
java -version
您很可能使用的是早期(旧)版本的
java
(JRE),而不是
javac


一个简单快捷的解决方法是从机器上完全删除
java
,然后再次安装JDK。

这不是完整的异常消息。请确保提供完整信息。要用java编写代码,您需要
JDK
。检查是否安装了它。简单的回答是类不在类路径中。从你问题中的信息看不出为什么会这样。完整的堆栈跟踪可以提供更多的洞察力。你是如何编译代码的?你是如何执行代码的?哦,当然,我编辑了完整的回溯