Launch4j
是否可以使用模块化 Java 应用程序制作捆绑/包装 exe 文件?
该应用程序是模块化的 (jmods),使用 导出jlink
,它不会生成任何 jar,而是生成一个custom runtime image
(几个文件夹),其中包含一个运行命令的 bat 文件:java -m package/path.to.class
我阅读了 Launch4j 文档,它说 jar 标签是可选的。尝试使用带有 gui 的程序(它甚至不启用运行按钮)和 Windows cmd(launch4j: Application jar 不存在。)
编辑1:
这篇 SO 帖子与我的问题有关。Launch4j 还没有这个功能。
解决方案(直到没有其他工具能够这样做):
使用 java custon 运行时映像制作 7z 文件:
7z a "outputPath\fileName.7z" "inputPath\javaCustomImgFolder"
使用以下参数创建一个config.txt 文件:
;!@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 "path\7zS2.sfx" + "path\config.txt" + "pathTo\fileName.7z" outputName.exe