【问题标题】:What version of JRE should I use to run a Java 15 compiled program?我应该使用哪个版本的 JRE 来运行 Java 15 编译程序?
【发布时间】:2022-03-03 10:41:45
【问题描述】:

我是 Java 编程新手。最近我使用最新的 JDK 15 (https://www.oracle.com/java/technologies/javase-downloads.html) 和最新的 JavaFX SDK 15 (https://openjfx.io/index.html) 创建了一个 JavaFX 程序。假设我需要在别人的电脑上部署应用程序(.jar)。

  • 客户端 PC 中的 JRE 版本应该是什么?还是他需要安装完整的JDK?
  • 我的程序包含 VM 选项,因此我可以将它们嵌入到 .jar 文件中吗?
  • Java 8 之后的版本是否有特定的 JRE?还是 JRE 与 JDK 本身耦合?

【问题讨论】:

  • 您可能还想查看jpackage(Java 14 起可用)。

标签: java javafx


【解决方案1】:

从 Java 9 开始,Oracle 不再提供仅限 JRE 的安装工具包,无论是带有 Oracle Java 徽章还是 OpenJDK 徽章。这就是您在 Oracle 和 OpenJDK 下载站点上找不到 Java 15 JRE 下载的原因。

你/他们有三个选择:

  1. 他们可以下载并安装适用于 Java 15 的 JDK。您或他还需要处理您的应用程序使用的 JavaFX JAR 和其他 3rd-party JAR。
  2. 您可以使用jlink(或类似名称)将您的 JAR 文件转换为带有嵌入式(缩减)JRE 的可执行文件。然后,您发送该可执行文件而不是 JAR 文件。
  3. 您可以建议他们从为 Java 15 提供 JRE 选项的第三方 Java 供应商处获取 Java。

我的程序包含 VM 选项,因此我可以将它们嵌入到 .jar 文件中吗?

我认为你做不到。但是编写一个调用(例如)java 并带有所需选项的 shell 脚本或批处理文件应该是一件简单的事情。

如果您使用jlink,您可以在可执行文件中嵌入 JVM 选项;见How to set VM options for JLink launcher executable

jpackage 工具也可能是一个选项,尽管在 Java 16 之前这不是生产功能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-01
    • 1970-01-01
    • 2019-11-16
    • 2011-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多