获取错误:缺少JavaFX运行时组件,需要这些组件在打开可执行jar时运行此应用程序
我已经使用NetBeans IDE 11.0构建了获取错误:缺少JavaFX运行时组件,需要这些组件在打开可执行jar时运行此应用程序,java,javafx,openjfx,debian-buster,openjdk-11,Java,Javafx,Openjfx,Debian Buster,Openjdk 11,我已经使用NetBeans IDE 11.0构建了可执行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 11和OpenJFX 1
可执行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 11
和OpenJFX 11
我在vm选项中添加了模块
--module-path /usr/lib/jvm/openjfx11/lib/ --add-modules javafx.controls,javafx.fxml
但这不是问题
那么如何配置缺少的JavaFX运行时组件呢?我认为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开发人员的生活如此痛苦
但是我建议使用这些发行版中包含JavaFX的Java发行版,并且开箱即用。ClassJavaFX.application.application
位于模块JavaFX.graphics
@Abra中,我没有得到JavaFX.application.application,它是使用上述模块解决的,即使尝试过,但没有任何改变。是的,他们有,你将不得不下载正确的版本,例如:太好了,我检查了LibericaFX并找到了那些软件包。谢谢。我还发现AZUL的ZULU社区JDK提供了ZuluLufx,但仍然没有JDK 11,但JDK 8 LTS是可用的。非常感谢您的回答,我的经验将更好地使用它们。希望JDK14也能为JavaFX带来一个正常工作的本机打包程序。在JDK 8之后,这也被删除了。Oracle应该明白,有时少并不意味着多。但我们确实不需要Oracle JDK用于生产。我已经检查了ZULU JDK LTS在2027年之前的支持情况。那么,我们是否可以预期他们是否会从14年开始使用JavaFX,并在15年和16年继续使用,依此类推?我从bellsoft了解到,他们将在未来提供包含JavaFX的JDK。