launch4j 可以用来将 Java 应用程序转成 Windows 本地可执行文件 (.exe)。提供了本地弹出屏幕,应用程序图标,JRE 搜索或使用绑定的 JRE,启动失败反馈,传递命令行参数,ANT 编译脚本等功能。

官网:http://launch4j.sourceforge.net/

导出程序包

使用 maven 的 shade 插件将工程打包成一个FatJar,这样的好处是不用外链依赖jar包,所有的依赖jar包都包含在程序jar包中。因为最终要转换为exe程序包,所以采用了这种方式。

使用launch4j

launch4j 有几项是必填的,如下图所示:
launch4j使用 - 图1
launch4j使用 - 图2
Jar: 选择要转换的 jar 包
Output file: 选择保存生成 exe 的路径。
Min JRE version: 所需的最小的 jre 版本,格式为: x.x.x[_xx]
Max JRE version: 所支持最大的 jre 版本,格式为: x.x.x[_xx]
注意:所有的路径不能出现中文。10以上的 jre 版本没有小数点,比如:jdk11的jre版本是11。
除了以上四个必填项外,我们还可以选择项目是 GUI 界面模式还是控制台窗口模式, 选择绑定的 jre 目录(如下图,./ 表示相对于生成的 exe 的目录位置)。
launch4j使用 - 图3
指定 Java 运行时环境的地址。我们一般把它放在程序包的同级目录的 jre6文件夹中。

launch4j使用 - 图4
image.png
选择 exe 图标,及传递参数。
launch4j使用 - 图6
通过配置 Command line args 参数,可以在 main(String[] args) 获取到,多个参数间使用空格分割开。
填写完毕后,点击上面工具栏上的齿轮按钮(Build Wrapper),会弹出一个界面,大意是保存某个文件,我们选择保存此文件,随后即可生成 exe 程序包。
如果我们能打开这个exe文件,说明打包成功。
如果要把程序包发给别人使用,必须同时把 JRE 发给别人。