如何将 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 还没有这个功能。
解决方案(直到没有其他工具能够这样做):
使用 java 自定义运行时映像制作 7z 文件:
7z a "outputPath\fileName.7z" "inputPath\javaCustomImgFolder"
使用这些参数创建一个 config.txt file:
;!@Install@!UTF-8!
Title="Your app name" //dont know where it's shown.
BeginPrompt="Do you want to install This Program?" //same
RunProgram="your.exe" //7z automatically search a .exe
Directory="bin" //play with the path if you need to
;!@InstallEnd@!
生成exe文件:
copy /b "pathzS2.sfx" + "path\config.txt" + "pathTo\fileName.7z" outputName.exe
注意: 我需要 7zS2.sfx (27kb) 版本文件,我找到了 here by reference of this SO post。其他版本不适合我。
据我所知,none 个早于 Java 模块的 exe 构建工具已经赶上了。
对于 Launch4j,有 a feature request,但没有可见的进度报告。所以只能猜测什么时候完成。
但是由于 jlink
可以创建带有启动器脚本的捆绑应用程序,一个用于自解压存档文件的通用生成器,如 WinZip 或 7zip,另请参阅 ,可能就足够了。
这些用于自解压存档的生成器通常还允许在解压后指定 program/script 到 运行,因此当我们存档捆绑的应用程序并指定启动脚本时,我们会得到一个 exe 文件双击即可 运行 一个捆绑的模块化 Java 应用程序。在更好的解决方案出现之前,这是我们目前所能得到的最好的解决方案。
是否可以用 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:
解决方案(直到没有其他工具能够这样做):
使用 java 自定义运行时映像制作 7z 文件:
7z a "outputPath\fileName.7z" "inputPath\javaCustomImgFolder"
使用这些参数创建一个 config.txt file:
;!@Install@!UTF-8! Title="Your app name" //dont know where it's shown. BeginPrompt="Do you want to install This Program?" //same RunProgram="your.exe" //7z automatically search a .exe Directory="bin" //play with the path if you need to ;!@InstallEnd@!
生成exe文件:
copy /b "pathzS2.sfx" + "path\config.txt" + "pathTo\fileName.7z" outputName.exe
注意: 我需要 7zS2.sfx (27kb) 版本文件,我找到了 here by reference of this SO post。其他版本不适合我。
据我所知,none 个早于 Java 模块的 exe 构建工具已经赶上了。
对于 Launch4j,有 a feature request,但没有可见的进度报告。所以只能猜测什么时候完成。
但是由于 jlink
可以创建带有启动器脚本的捆绑应用程序,一个用于自解压存档文件的通用生成器,如 WinZip 或 7zip,另请参阅
这些用于自解压存档的生成器通常还允许在解压后指定 program/script 到 运行,因此当我们存档捆绑的应用程序并指定启动脚本时,我们会得到一个 exe 文件双击即可 运行 一个捆绑的模块化 Java 应用程序。在更好的解决方案出现之前,这是我们目前所能得到的最好的解决方案。