【问题标题】:Java class version is displayed incorrectlyJava 类版本显示不正确
【发布时间】:2021-02-10 10:28:19
【问题描述】:

我想在终端运行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

错误说我的 Java 类版本是 59,但我安装了 jdk1.8.0_281.jdk
那我就看不懂错误了,因为我的版本是52。

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

【问题讨论】:

    标签: java eclipse java-8 jar


    【解决方案1】:

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

    告诉 eclipse 编译到较低版本(这将不起作用,除非您使用自 jdk8 以来引入的任何功能),或者在 JDK15+ 上运行 jar。

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

    【讨论】:

      【解决方案2】:

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

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

      然后JDK来了,也就是Java Development Kit,在这里可以创建和编译java程序。编译器和运行器(JDK & JRE)必须相互兼容。

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-27
        • 2020-12-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多