Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取错误:缺少JavaFX运行时组件,需要这些组件在打开可执行jar时运行此应用程序_Java_Javafx_Openjfx_Debian Buster_Openjdk 11 - Fatal编程技术网

获取错误:缺少JavaFX运行时组件,需要这些组件在打开可执行jar时运行此应用程序

获取错误:缺少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

我已经使用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 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发行版,并且开箱即用。

Class
JavaFX.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。