Getting Error: JavaFX runtime components are missing, and are required to run this application while opening executable jar

Getting Error: JavaFX runtime components are missing, and are required to run this application while opening executable jar

我使用 NetBeans IDE 11.0 构建了 executable jar 但是 当我打开 jar 使用:

hemlata@hemlata-pc:~/NetBeansProjects/Sizing/dist$ java -jar Sizing.jar 

我得到

Error: JavaFX runtime components are missing, and are required to run this application

我在 Debian 10

上使用 OpenJDK 11OpenJFX 11

我在 vm option

中添加了 modules
--module-path /usr/lib/jvm/openjfx11/lib/ --add-modules javafx.controls,javafx.fxml  

但这不是问题。

那么如何配置缺少的JavaFX runtime components

我认为 VM 参数是问题所在,因为它们仅在从 IDE 中执行项目时添加。

如果您从项目构建可执行 jar,则不会导出 VM 参数(因为它们是在命令行中设置的,不能像这样导出)。

如果您像这样更改启动 jar 的命令,它应该可以工作:

java -jar Sizing.jar --module-path /usr/lib/jvm/openjfx11/lib/ --add-modules javafx.controls,javafx.fxml  

我仍然想知道为什么 Oracle 从 Java 发行版中删除了 JavaFX 并让我们 JavaFX 开发人员的生活如此痛苦。

但我建议使用 Bell soft 中的 Java 发行版,这些发行版包含 JavaFX,开箱即用。