java - 将 JavaFX 应用程序与 openjdk 11 + 运行时捆绑在一起

标签 java javafx javafx-11

我创建了一个依赖于 OpenJDK 11 和 JavaFX 的小型 HelloWorld Java 应用程序。该应用程序打包在一个 jar 文件中,只有在我的系统上分别安装了 Java 11 和 JavaFX 才能运行。

现在我想将我的 jar 转换成 self-contained Java application其中包括 JavaFX 和功能齐全的 Java 运行时环境。这将允许我在不安装 OpenJDK 11 的情况下运行我的应用程序(这会带来技术障碍,例如正确设置 PATH 等)。

我可以找到有关在 Java 10 上创建自包含 Java 应用程序的信息,但找不到有关将 Java 应用程序与 OpenJDK 11 和 JavaFX 捆绑在一起的信息。

如何使用 OpenJDK 11 和 JavaFX 发布独立的 Java 应用(包括 Java 运行时)?

最佳答案

模块化 Java、jlinkjpackage

关注these tutorialsnew home for JavaFX 找到在拥有been spun out之后Oracle 到 Gluon .

您将需要使用模块化 Java 编写代码。将 JavaFX 11 作为依赖项添加到您的项目中。并使用新的链接/打包工具将 JDK 的一个子集捆绑到您的应用中。

了解:

不再有 JRE

Oracle 不再打算让最终用户安装 JRE 或 JDK。 Java Applets在浏览器中和 Java Web Start应用程序交付都被逐步淘汰,最终用户不再需要 JRE。基于 Java 的应用程序应该捆绑自己的 Java 实现。唯一有意识地安装 JDK 的人将是开发人员和服务器端系统管理员。

重要:

这是一个流程图,可以帮助您在提供 Java 11 实现的各个供应商中找到并做出决定。

Flowchart guiding you in choosing a vendor for a Java 11 implementation


Motivations in choosing a vendor for Java

关于java - 将 JavaFX 应用程序与 openjdk 11 + 运行时捆绑在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52969440/

相关文章:

java - org.hibernate.InstantiationException : No default constructor for entity: com. 域.AnomalieAck

java - 如何在 JavaFX 中使 Cylinder 的末端透明

java - 某些元素的监听器

java - 在TornadoFX中,如何在其他属性更改时更改其中一个属性?

java - 迁移到 JDK 11 + JavaFX 11 时出现 RuntimeException

java - HashMap.values() 和 HashMap.keySet() 如何返回值和键?

java - 重现javaFX焦点效果

JavaFX Proguard 混淆

java - 如何在 Java 11 中将 JavaFX 运行时添加到 Eclipse?

java - Jboss图片上传和http访问显示图片