【问题标题】:Java Runtime Version [duplicate]Java 运行时版本 [重复]
【发布时间】:2021-02-22 01:26:26
【问题描述】:

我刚刚在我的 Ubuntu 虚拟机中编译了一个简单的 Java 程序。它在那里运行良好。 当我将相同的“.class”文件复制到 Windows(主机)时,我收到以下消息:

"(...) 已由更新版本的 Java Runtime(类文件版本 58.0)编译,此版本的 Java Runtime 仅识别最高 52.0 版的类文件版本"

有什么方法可以通过只更改我的 Ubuntu 环境来解决这个问题?

【问题讨论】:

    标签: java ubuntu runtime


    【解决方案1】:

    每个版本的 JDK 都有自己的类版本。

    JDK 可以运行以前 JDK 中的文件,但不能运行未来 JDK 中的文件。

    58.0 适用于 JDK 版本 14。

    52.0 适用于 JDK 8。

    您可以在 Windows 机器上更新 JDK

    您可以使用 -target 命令行选项为特定的 JDK 进行编译。

    List of Java class file format major version numbers?

    javac source and target options

    【讨论】:

      【解决方案2】:

      Windows 上的 Java 是 Java8。 Ubuntu 上的 Java 更强大。

      java --version

      给你数字。

      您可以下载 jdk 并将其安装在 Windows 上。更改 JAVA_HOME 环境变量以使用新的 jdk。

      【讨论】:

      • 这不能回答问题。 OP 特别询问“有没有办法通过仅我的 Ubuntu 环境实施更改来解决这个问题?”
      猜你喜欢
      • 2014-08-17
      • 2018-04-16
      • 2023-03-15
      • 2017-08-07
      • 1970-01-01
      • 1970-01-01
      • 2021-03-04
      • 1970-01-01
      相关资源
      最近更新 更多