Java class 版本显示不正确

Java class version is displayed incorrectly

我要运行终端中eclipse分发的jar文件
我在终端输入命令是这样的

java -jar test.jar

然后发生错误。

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: 
project01/test01 has been compiled by a more recent version of the 
Java Runtime (class file version 59.0), this version of the Java 
Runtime only recognizes class file versions up to 52.0

报错说我的Javaclass版本是59,但是我安装了jdk1.8.0_281.jdk
然后看不懂报错,因为我的版本是52.

有解决办法吗?
我正在使用 macOS。

Eclipse 编译的 class 文件可以是 运行 JDK15 或更高版本(这就是 59.0 的意思)。所以在你安装的JDK1.8上不会运行

告诉 eclipse 编译成低版本(这不会工作,除非你不使用自 jdk8 以来引入的任何功能),或者 运行 JDK15+ 上的 jar。

您可以通过右键单击您的项目、选择属性并四处查看来配置它。

很可能您正在使用较新版本的 JAVA 编译您的程序。 并尝试 运行 使用旧版本。

你要明白java自带JRE,也就是JavaRuntime Environment。 这是所有 java 个程序都是 运行 的环境。就像一个虚拟机。

然后是JDK,就是Java开发包,在这里可以创建和编译java程序。编译器和 运行ner (JDK & JRE) 必须相互兼容。

您还应该检查 Eclipse 使用的是哪个版本:

帮助 > 关于 Eclipse > 安装详细信息 > 配置选项卡。找到显示以下内容的行:java.runtime.version=....