我正在尝试分发 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 上运行。
最佳答案
就我而言,我使用的是 Windows 系统,但我认为 Linux 上的情况类似。问题是 openjdk 和 javafx 并不总是在其他计算机上可用,并且不包含在 .jar 中。
当我想在其他计算机上使用我的应用程序时,我必须构建一个以下内容的安装程序:
- myapp.jar
- openjdk库文件夹
- javafxsdk库文件夹
在快捷方式上,我指示调用我在应用程序上使用的所有模块的运行命令:
--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 的路径,当然,将它们下载到运行您的应用程序的计算机上。
关于java - 在另一台机器上运行 JavaFX 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56557965/