捆绑 JRE 8 和 JavaFX 应用程序

Bundling JRE 8 and JavaFX application

我们使用 JDK8 编写了一个 JavaFX 应用程序,我们现在不仅希望使用 jar 文件部署我们的应用程序,而且还可以提供一个捆绑的 zip 文件:

  1. jar 文件my.jar
  2. 一个简单的.bat(或.sh)文件.\jre\bin\java.exe -jar my.jar
  3. jre 本身在 jre 文件夹中

理想情况下,我们希望创建三个这样的包(zip 文件):Windows、Linux、MacOS。这对最终用户来说更容易,并且省去了用户下载合适的 JRE、安装它等的麻烦。

因此,我们现在必须决定 合法 适当的 JRE 以包含到我们的 zip 文件中(从技术上讲,我们可以简单地捆绑 Oracle JRE - 但 Oracle TOS 明确禁止分发来自 ISV)。

由于最近的 Oracle 许可开发不仅针对 Java 而且还针对 JavaFX,JavaFX 等的单独许可,我真的很难找到正确的用途使用更友好的许可证 AdoptJDKOpenJFXOpenJDK 等来创建上面的捆绑包。

让我们形成这个 JRE/JavaFX 捆绑包的最明智的方法是什么?

我们应该包括哪个 jre 也包含适当许可的 JavaFX 运行时?

我们应该将 jreJavaFX 实现分开捆绑吗?

让我们形成这个 JRE/JavaFX 捆绑包的最明智的方法是什么? 我们应该包括哪个 jre,它还包含适当许可的 JavaFX 运行时? 我们应该将 jre 与 JavaFX 实现分开捆绑吗?

Oracle 版本两者都有,但您不能将其作为商业产品分发(从技术上讲,旧版本可以)。

对于 JRE 8/Java 8 apps-use amazon coretto distro,它与两者捆绑在一起。还有其他发行版,但我更相信亚马逊会保持更新,因为他们有动力让他们的云客户保持快乐和安全。 https://aws.amazon.com/corretto/

从长远来看,您可能会被迫升级到 JRE 11,其中所有 JRE 的工作方式相同,并且 JFX 为所有构建单独捆绑。无论哪种方式,您都无法在不支付 Oracle 费用的情况下分发任何 Oracle 构建。