如何创建模块化JavaFX11可运行jar / exe?

时间:2018-11-23 20:13:30

标签: java javafx jlink javafx-11

我已成功遵循openjfx-docs中提到的说明(使用maven)

我可以在日食中运行它。我还可以使用jlink创建自定义运行时映像。该应用程序可以通过生成的启动器运行。

现在,我们如何使用jlink生成的精简JRE创建可运行的jar / exe?

1 个答案:

答案 0 :(得分:0)

我最近才开始尝试使用Java 11的jlink工具,并且可以提供部分答案。 定制运行时映像的bin目录中的java命令的工作方式与标准JRE的java相同:

  

/ path / to / custom / runtime / image / bin / java -jar myjar.jar

自定义运行时映像当然必须包含所有必需的依赖关系,我通过将myjar.jar设置为模块化JAR并提供开关来确保这一点

  

-add-modules myjar.jar

使用jlink创建自定义运行时映像时。使用附加开关

  

-launcher mylaunchername = modulename.of.my.jar / mypackage.with.MainClass

直接可执行的二进制文件

  

/ path / to / custom / runtime / image / bin / mylaunchername

生成

。在Mac上,我创建了一个别名并将其移至桌面。到目前为止,与我所能达到的应用程序最接近,但有以下警告:

  • 该应用程序图标是标准的绿色“执行程序”
  • 双击该图标将启动一个终端,这对于JavaFX应用程序是不希望的
  • 当然,“应用程序”不是单个文件,而是完整的自定义运行时映像文件夹。