我正在尝试分发JavaFX应用程序。
作为一个示例项目,我选择了JavaFX and NetBeans -> Non-modular with Maven。可以在这里找到代码:GitHub: openjfx/samples。
在我的计算机上,该应用程序可以运行。但是,当我尝试在另一台计算机上运行该JAR时,它说:
Error: JavaFX runtime components are missing, and are required to run this application
在与Maven无关的部分中,该问题已得到解决。作为解决方案,它建议:
Properties -> Libraries -> Run -> Modulepath -> + -> Add Library and add the JavaFX12
但是我的项目属性看起来不同。他们缺少图书馆:
两台机器都可以在Ubuntu和Java 11上运行。
答案 0 :(得分:0)
就我而言,我使用Windows系统,但是我认为它在Linux上是类似的。问题是openjdk和javafx并非总是在其他计算机上可用,而在.jar中则不包含。
当我想在另一台计算机上使用我的应用程序时,必须构建一个包含以下内容的安装程序:
在快捷方式上,我指示运行命令调用我在应用程序上使用的所有模块:
--module-path="../../javafx-sdk-11.0.1/lib/" --add-modules="javafx.web" --add-modules="javafx.controls" --add-modules="javafx.fxml" --add-modules="javafx.base" -jar ../../myapp.jar
在您的情况下,也许您只需要使用命令创建快捷方式并正确指示.jar,openjdk和javafxsdk的路由,然后将它们下载到运行应用程序的计算机上即可。