【问题标题】:How do you package JavaFX within a .exe file created by Launch4j?如何将 JavaFX 打包到 Launch4j 创建的 .exe 文件中?
【发布时间】:2020-12-15 13:00:50
【问题描述】:

我正在尝试创建 JavaFX 应用程序,但我找不到将 JavaFX jar 文件捆绑到由 Launch4j 创建的 EXE 文件中的方法。有没有办法做到这一点?

到目前为止,我所拥有的是一个 EXE 以及 OpenJFX 14 和 OpenJDK 14 的发行版,它们位于同一个文件夹中,其中包含 OpenJFX 文档规定的 JRE 路径和 VM 选项。

我正在使用 OpenJDK 14.0.1 和 Open JavaFX 14.0.2。

【问题讨论】:

  • JavaFX 不仅仅是一组 jar 文件;它也依赖于原生图形组件。您不能(*)只在您的应用程序中包含 jar 文件并使其工作。您需要创建一个包含 JavaFX 的 JVM,然后使用该 JVM 创建本机 .exe 包。 Java11 及更高版本中包含的 jlink 工具将执行此操作(docs)。注意你也可以使用jpackage代替Launch4j来构建原生包;这实际上会为你运行 jlink。
  • (*) 如果您只包含 JavaFX jar,显然有一些 hack 可以使其工作,但强烈建议您不要依赖这些。
  • 我想知道为什么我们必须大约每 24 小时一次又一次地回答同样的问题。
  • @James_D,感谢您提供的信息。我试试看!
  • @mipa 我没有在这个论坛上以这种特殊的形式看到这个问题,这就是我问的原因。如果我看到另一个这样的,我会使用它。

标签: java javafx launch4j


【解决方案1】:

您可以尝试在创建可运行文件时在生成的jar 中提取所需的库

选择这样的选项:

之后,执行简单的launch4j 步骤来创建.exe

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-14
    • 2018-09-13
    • 2016-09-14
    • 2017-07-20
    • 2020-01-22
    • 1970-01-01
    相关资源
    最近更新 更多