在jpackage之后运行JavaFX应用程序
我有一些很难回答的问题。 我尝试在OpenJDK 14中使用jpackage为我的测试应用程序创建安装。以下是我所做的: 首先,使用在jpackage之后运行JavaFX应用程序,javafx,java-14,jpackage,Javafx,Java 14,Jpackage,我有一些很难回答的问题。 我尝试在OpenJDK 14中使用jpackage为我的测试应用程序创建安装。以下是我所做的: 首先,使用 jlink --module-path "C:\Java\javafx-sdk-14\lib" --add-modules javafx.controls,javafx.fxml --output hello\myjre 这是成功的。我从运行配置中复制了Eclipse中的参数。之后,使用jpackage进行安装 jpackage --name HelloFX -
jlink --module-path "C:\Java\javafx-sdk-14\lib" --add-modules javafx.controls,javafx.fxml --output hello\myjre
这是成功的。我从运行配置中复制了Eclipse中的参数。之后,使用jpackage进行安装
jpackage --name HelloFX --input hello --main-jar HelloFX.jar --runtime-image hello\myjre
创建的.msi文件,我运行它,它在我的Win10应用程序中创建了条目。当然,我不知道如何在windows菜单中找到它,但它位于我的C:\Program Files\HelloFX中。当我试图运行应用程序meesage时,我找到了带有Duke映像的图标和应用程序文件,弹出“未能启动JVM”
谁能帮帮我,我做错了什么?我真的很想让这一点发挥作用,深入研究JavaFX。JavaFXSDK附带的JavaFXJAR不包含本机代码。相反,所述代码位于
bin
目录中。这意味着由jlink
创建的自定义运行时映像没有运行JavaFX所需的本机代码。您有两个选择:
--模块路径上,而不是放在常规JAR文件上
jlink
一起使用时,自定义运行时映像中包含的本机代码与特定于JRE的本机代码的方式相同。如果使用第二种方法,则本机代码仍将包含在自定义运行时映像中,但必须先将其提取到计算机上的某个位置(例如,/.openjfx
),然后才能使用1。换句话说,第一种选择是更干净
一,。注意,此提取由JavaFX自动完成。JavaFXSDK中包含的JavaFXJAR不包含本机代码。相反,所述代码位于
bin
目录中。这意味着由jlink
创建的自定义运行时映像没有运行JavaFX所需的本机代码。您有两个选择:
--模块路径上,而不是放在常规JAR文件上
jlink
一起使用时,自定义运行时映像中包含的本机代码与特定于JRE的本机代码的方式相同。如果使用第二种方法,则本机代码仍将包含在自定义运行时映像中,但必须先将其提取到计算机上的某个位置(例如,/.openjfx
),然后才能使用1。换句话说,第一种选择是更干净
一,。注意,此提取由JavaFX自动完成