Dal*_*pic 4 javafx java-14 jpackage
我有一些非常菜鸟的问题。我尝试在 OpenJDK 14 中使用 jpackage 为我的测试应用程序创建安装。这是我所做的:
首先,创建自定义 JRE
jlink --module-path "C:\Java\javafx-sdk-14\lib" --add-modules javafx.controls,javafx.fxml --output hello\myjre
Run Code Online (Sandbox Code Playgroud)
那是成功的。我从运行配置中从我的 Eclipse 中复制了参数。之后使用 jpackage 进行安装
jpackage --name HelloFX --input hello --main-jar HelloFX.jar --runtime-image hello\myjre
Run Code Online (Sandbox Code Playgroud)
创建了 .msi 文件,我运行它并在我的 Win10 应用程序中创建了条目。当然,我不知道如何在 windows 菜单中找到它,但它放在我的 C:\Program Files\HelloFX 中。我找到了带有 Duke 图像的图标和应用程序文件,当我尝试运行应用程序时,会弹出“无法启动 JVM”消息。
有人可以帮助我,我做错了什么?我真的很想完成这项工作并深入研究 JavaFX。
Sla*_*law 12
JavaFX SDK 中包含的 JavaFX JAR 不包含本机代码。相反,所述代码在bin目录中。这意味着您创建的自定义运行时映像jlink没有运行 JavaFX 所需的本机代码。您有两个选择:
下载JMOD文件由胶子和创建自定义运行时图像时使用它们。您可以将 JMOD 文件放在--module-path 而不是常规 JAR 文件上。
--module-path,只需确保在打包和执行期间(通过requires指令或--add-modules参数)解析 JavaFX 模块。使用发布到 Maven Central 而不是 SDK 的 JavaFX JAR。Maven Central JAR 嵌入了本机代码。
在这两种情况下,请确保为您的操作系统使用 JMOD/JAR 文件 — JavaFX 是特定于平台的。
我相信第一个选择是最好的。使用带有jlink本机代码的JMOD 文件时,自定义运行时映像包含在与特定于 JRE 的本机代码相同的方式中。如果您使用第二种方法,本机代码仍将包含在自定义运行时映像中,但必须<user-home>/.openjfx先将其提取到计算机上的某个位置(例如),然后才能使用1。换句话说,第一个选项更干净。
1. 请注意,此提取是由 JavaFX 自动完成的。
| 归档时间: |
|
| 查看次数: |
1914 次 |
| 最近记录: |