java - 在另一台机器上运行 JavaFX 应用程序

标签 java maven javafx openjfx

我正在尝试分发 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

但我的项目属性看起来不同。他们缺少:

enter image description here

两台机器都在 Ubuntu 和 Java 11 上运行。

最佳答案

就我而言,我使用的是 Windows 系统,但我认为 Linux 上的情况类似。问题是 openjdk 和 javafx 并不总是在其他计算机上可用,并且不包含在 .jar 中。

当我想在其他计算机上使用我的应用程序时,我必须构建一个以下内容的安装程序:

  1. myapp.jar
  2. openjdk库文件夹
  3. 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/

相关文章:

maven - mvn -e 完整的堆栈跟踪?

java - 从Mojo获取多模块maven项目的根目录

java - 在 APlusCompSci 奇偶数组问题中不断出现 IndexOutOfBoundsException

java - 调用 wait() 后有返回值是什么意思?

java - mvn 依赖项 :analyze 中的错误结果

java - 使用 scenebuilder 将字符串输出到文本字段 javafx

java - IntelliJ IDEA : how to debug a java:fx maven project?

找不到 javax.ws.rs.core.HttpHeaders.CONTENT_DISPOSITION

java - 陷入SocketInputStream.socketRead0

JavaFX为ProgressIndicator和Spinner设置不同的样式