无法为JavaFX 11创建平台无关的jar

时间:2018-11-10 08:06:35

标签: java maven javafx

使用JavaFX 11和Maven并仅创建此依赖项来创建简单的HelloWorld应用程序:

<dependencies>
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-controls</artifactId>
        <version>11</version>
    </dependency>
</dependencies>

这将产生此依赖关系树:

[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ javafx-module-test ---
[INFO] ch.sahits.test:javafx-module-test:jar:1.0-SNAPSHOT
[INFO] \- org.openjfx:javafx-controls:jar:11:compile
[INFO]    +- org.openjfx:javafx-controls:jar:linux:11:compile
[INFO]    \- org.openjfx:javafx-graphics:jar:11:compile
[INFO]       +- org.openjfx:javafx-graphics:jar:linux:11:compile
[INFO]       \- org.openjfx:javafx-base:jar:11:compile
[INFO]          \- org.openjfx:javafx-base:jar:linux:11:compile

从上面的输出中可以猜到,我在Linux机器上运行此程序,这使我对创建可移植到其他OS的可执行jar文件感到不满意。因此,我继续使用Assembly插件创建了一个jar文件: Executable jar layout 如您在罐子内容的上图中所见,其中包含本机库。对于Windows,可能是一些dll。

我们如何为可在任何地方运行的JavaFX应用程序创建可执行jar文件?

我可以想象的一种方法是要求将OpenJFX运行时安装在目标计算机上,这样就不必将其捆绑在jar中,但这是可以避免的,因为它对用户非常不友好。 / p>

0 个答案:

没有答案