运行 java 可运行的 JAR

Running java runnable JAR

我已经使用 OpenJDK13 和 OpenJFX13 创建了 JavaFX 应用程序。在 Eclipse 中,我制作了 Runnable JAR,但它不起作用(至少在我的 Win 10 安装上),除非我在命令行中添加 VM 参数。

所以,为了解决这个问题,我制作了带有文本的 *.bat 文件:

java -jar --module-path  "C:\Java\javafx-sdk-13.0.1\lib" --add-modules javafx.controls,javafx.fxml Testing.jar

它就是这样工作的。但是,关于我的解决方案,有两点我想更改。

  1. 有什么方法可以避免在启动应用程序时显示命令提示符吗?
  2. 已选择将所需的库打包到选定的 JAR 中。当我删除

--module-path "C:\Java\javafx-sdk-13.0.1\lib"

根据 *.bat 文件中的参数,它不起作用。没有这个,有什么办法让它工作吗?如果我理解正确,最终用户应该在可运行的 JAR 中拥有他需要的一切?

创建可运行的 jar 是一种非常古老的技术。由于 JavaFX 的平台特定本机代码,它们只能在您构建它们的平台上工作。那么为什么不全力以赴为您的平台创建一个真正的应用程序呢?这可以通过 JDK 14 的 EA 版本附带的 jpackage 工具来完成。在这里查看教程:https://github.com/dlemmermann/JPackageScriptFX .