英文:
Why a simple hello world program doesnt work java (error java.lang.unsupportedclassversion)
问题
以下是翻译好的内容:
这是我第一次使用 Java,我不知道如何解决这个问题,我甚至尝试在网上搜索了但没有找到答案,以下是错误信息:
错误:发生了 JNI 错误,请检查您的安装并重试
异常在线程 "main" 中:"main" java.lang.UnsupportedClassVersionError: HelloWorld 已由较新版本的 Java Runtime 编译(类文件版本 58.0),此版本的 Java Runtime 仅识别高达 52.0 的类文件版本
在 java.lang.ClassLoader.defineClass1(Native Method) 中
在 java.lang.ClassLoader.defineClass(Unknown Source) 中
在 java.security.SecureClassLoader.defineClass(Unknown Source) 中
在 java.net.URLClassLoader.defineClass(Unknown Source) 中
在 java.net.URLClassLoader.access$100(Unknown Source) 中
在 java.net.URLClassLoader$1.run(Unknown Source) 中
在 java.net.URLClassLoader$1.run(Unknown Source) 中
在 java.security.AccessController.doPrivileged(Native Method) 中
在 java.net.URLClassLoader.findClass(Unknown Source) 中
在 java.lang.ClassLoader.loadClass(Unknown Source) 中
在 sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 中
在 java.lang.ClassLoader.loadClass(Unknown Source) 中
在 sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source) 中
[完成] 在 0.63 秒内以代码 1 退出
这是代码,非常简单:
public class HelloWorld{
public static void main(String[] args){
System.out.println("Ciao java!");
}
}
英文:
Is my first time with java and i dont know how to resolve this, i even tried to search online but nothing, here the error:
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
And this is the code, pretty simple:
public class HelloWorld{
public static void main(String[] args){
System.out.println("Ciao java!");
}
}
答案1
得分: 1
你的Java编译器和解释器版本不同。
查看以下命令的输出:
javac -version
java -version
你很可能在使用比javac
(编译器)更早(老旧)的版本的java
(JRE)。
一个快速简单的解决方法是彻底从机器中移除java
,然后重新安装JDK。
英文:
your java compiler and interpreter versions are different.
see what is the output of
javac -version
java -version
You are most probably using an early (old) version of java
(JRE) than javac
.
A quick and easy fix would be completely removing java
from the machine and then installing JDK again.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论