加载中...

如何把 Jar 封装为 exe


0x00 前言

当 Java 程序打包为 Jar 之后,通常有两种运行方法:

  1. 把启动信息写入 MANIFEST.MF ,直接双击 jar 包运行
  2. 编写 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

文章作者: EXP
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 EXP !
  目录