Why a simple hello world program doesnt work java (error java.lang.unsupportedclassversion)

huangapple go评论56阅读模式
英文:

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.

huangapple
  • 本文由 发表于 2020年9月2日 22:16:34
  • 转载请务必保留本文链接:https://go.coder-hub.com/63707514.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定