如何将 launch4j 与 Java 自定义运行时映像一起使用?

How to use launch4j with a Java custom runtime image?

是否可以用 Launch4j 和模块化 java 应用程序制作 bundle/wrapper exe 文件?

该应用程序是模块化的 (jmods),使用 jlink 导出,它不会生成任何 jar,但会生成一个 custom runtime image(几个文件夹)和一个运行命令的 bat 文件: java -m package/path.to.class

我读了 Launch4j docs,它说 jar 标签是可选的。尝试将程序与 gui(它甚至不启用 运行 按钮)和 Windows cmd(launch4j:应用程序 jar 不存在。)

编辑 1:

与我的问题有关。 Launch4j 还没有这个功能。

解决方案(直到没有其他工具能够这样做):

注意: 我需要 7zS2.sfx (27kb) 版本文件,我找到了 here by reference of this SO post。其他版本不适合我。

据我所知,none 个早于 Java 模块的 exe 构建工具已经赶上了。

对于 Launch4j,有 a feature request,但没有可见的进度报告。所以只能猜测什么时候完成。

但是由于 jlink 可以创建带有启动器脚本的捆绑应用程序,一个用于自解压存档文件的通用生成器,如 WinZip 或 7zip,另请参阅 ,可能就足够了。

这些用于自解压存档的生成器通常还允许在解压后指定 program/script 到 运行,因此当我们存档捆绑的应用程序并指定启动脚本时,我们会得到一个 exe 文件双击即可 运行 一个捆绑的模块化 Java 应用程序。在更好的解决方案出现之前,这是我们目前所能得到的最好的解决方案。