我应该使用哪个版本的 JRE 来运行 Java 15 编译程序?

Alp*_*eta 1 java javafx

我是 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 本身耦合?

Ste*_*n C 5

从 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 选项的 3rd 方 Java 供应商处获取 Java。

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

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

如果您使用,jlink您可以在可执行文件中嵌入 JVM 选项;请参阅如何为 JLink 启动器可执行文件设置 VM 选项

jpackage工具也可能是一个选项,尽管直到 Java 16 才会成为产品特性。