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

What version of JRE should I use to run a Java 15 compiled program?

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

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

你/他们有三种选择:

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

My program contains VM options so that can I embed them within the .jar file?

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

如果你使用 jlink,你可以在可执行文件中嵌入 JVM 选项;参见

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