【问题标题】:How to create a standalone application using JavaFX 11 (Modular)? [duplicate]如何使用 JavaFX 11(模块化)创建独立应用程序? [复制]
【发布时间】:2019-08-07 08:26:35
【问题描述】:

我正在学习here 教程并使用openjdk 11.0.2javafx-sdk-11.0.2
我已经在 Eclipse 中导入了 maven 项目。该项目实际上可以很好地编译和打包。它还在 /target 目录中创建了 jar 文件。
问题是,我想为我的应用程序导出一个单个可执行文件,该应用程序本身也嵌入了必要的 JRE(因此不需要在目标机器)。
这是实际的project

如何在 Maven 中自动生成独立可执行文件?如果可能的话,我想要一个 exe。

【问题讨论】:

  • @SamuelPhilipp 看来我需要的工具是 javapackager 但它已从 JDK 11 中删除,现在它已在实验中发布
  • 或者查看安装程序生成器,创建 setup.exe 等。迁移到 Java 17 也很容易。

标签: java maven javafx java-platform-module-system openjfx


【解决方案1】:

在 SO 上学习 other questions here,我认为没有办法生成包含 JRE 的单个 EXE。但是,所提到的工具可以生成一个可以放在旁边“jre”目录的 EXE。

使用JavaPackager Maven 插件,这实际上可以很容易地实现,只需在您的 POM 中添加以下内容:

<plugin>
    <groupId>io.github.fvarrui</groupId>
    <artifactId>javapackager</artifactId>
    <version>1.6.2</version>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>package</goal>
            </goals>
            <configuration>
                <mainClass>...</mainClass>
                <bundleJre>true</bundleJre>
                <platform>windows</platform>
            </configuration>
        </execution>
    </executions>
</plugin>

运行mvn package 将在“target”内生成一个包含 EXE 的目录、一个“jre”目录和一个“libs”目录。该插件还可以生成安装程序文件。

显然,对于不同的平台,您需要调整配置,但我在 Windows 上使用 JDK 16 和 17 进行了测试,它似乎工作正常。

【讨论】:

  • 如果您真的想创建一个独立的 EXE,可以使用 Gluons 工具链来完成。 docs.gluonhq.com/#platforms_windows
  • @mipa gluons 插件可以用于在 windows 中制作 JavaFX 应用程序的可安装版本吗? (如 JPackage)
  • 不,它只是创建 EXE,但我认为您可以使用其他工具创建安装程序。我对 Windows 不是很熟悉。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-16
  • 1970-01-01
  • 2021-11-26
  • 2012-08-11
  • 1970-01-01
相关资源
最近更新 更多