0x00 前言
当 Java 程序打包为 Jar 之后,通常有两种运行方法:
- 把启动信息写入 MANIFEST.MF ,直接双击 jar 包运行
- 编写 dos/shell 脚本,通过 java/javaw 命令运行
但有时候可能有需要把 jar 加一层封装,让它 “看起来” 是个 exe,这要怎么做呢 ?
0x01 工具引入
其实在 Windows 中(不支持 Mac/Linux),这个工具 Quick Batch File Compiler(批处理转应用程序) 就能简单地把 dos 脚本封装为 exe。
dos 脚本又称为 bat 批处理脚本
0x02 使用指引
解压后,执行 quickbfc.exe 启动工具,首先点击【选项】进行必要配置:
- 【控制台应用程序】和【幽灵应用程序】区别是你的 java 程序有没有 GUI 界面: 纯 dos 交互界面选择【控制台应用程序】;若是 swing 之类有 GUI 的桌面应用,建议选择【幽灵应用程序】,否则启动时会存在一个 dos 黑框在前台。
- 【在启动时显示启动界面】: 同样地,纯 dos 交互界面要勾选;若是有 GUI 的界面则不要勾选
其他设置按需即可:
(必须)点击【来源】输入 dos 启动脚本(启动脚本可以用这个 release-project-plugin Maven 插件生成,也可以自己写):
建议:纯 dos 交互界面的启动命令用 java,若是有 GUI 界面的则用 javaw
(可选)点击【版本信息】根据程序实际情况填写即可,勾选【包含版本信息转换到可执行文件】会在之后生成的 exe 文件属性中查看到这些信息:
(可选)点击【嵌入文件】可以设置 exe 图标,图片格式必须为 ico 格式,大小随意(建议为 64 x 64
像素的正方形):
在线可自行搜索到 ico 图片格式转换的站点
最后点击【构建】即可生成 exe 文件
0x03 后话
其实工具的使用很简单,主要需要区分所封装的 Jar 是否含 GUI 界面的,两者之间的差异配置可参考下表:
界面类型 | 界面描述 | 【选项】配置 | 【来源】脚本命令 |
---|---|---|---|
DOS 界面 | 黑框界面 | [√] 控制台应用程序[√] 在启动时显示启动界面 |
java |
GUI 界面 | Swing 等界面 | [√] 幽灵应用程序[x] 在启动时显示启动界面 |
建议 javaw 也可 java |