将jar包打包成exe应用程序
2024年1月21日大约 4 分钟约 875 字
准备好一个jar包(这里以一个springboot项目的举例,来源于打包前后端分离项目
文档),和下面的两个工具
工具链接:https://pan.baidu.com/s/1AKpMzIFBi6FGUmZq7q3s9g 提取码:u05h
exe4j注册码:L-g782dn2d-1f1yqxx1rv1sqd
打开exe4j工具

选择下面这个,然后下一步

下一步

下一步

勾选兼容32位和64位系统

勾选上,下一步在下一步

先设置参数,再点右侧按钮添加jar包
参数设置:
-Dfile.encoding=utf-8

选择jar包

点击三个点

spring项目选择jar。然后下一步


点击+号

按照图片写。点击ok

照着这个样子写的目的是,最终会把本地jre目录和exe一起打包,让exe文件自己去根据路径去查找一起打包的jre,可不用再安装jdk

选Client

然后一直下一步
直到下图这样结束

现在检查你的桌面,多了一个application.exe
文件

这个时候不要打开,接下来就是将jre和exe文件再打个包合并,达到在没有jdk电脑环境下也能运行。现在需要用到第二个工具 Inno Setup 。
打开Inno Setup工具
点击New

下一步,然后填写信息

这里默认,下一步


下一步,这个不用管

这里也不用管,下一步

选择语言

选择

直接下一步

点击Finish

这里选择否

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "application"
#define MyAppVersion "0.0.1"
#define MyAppPublisher "Liang, Inc."
#define MyAppURL "http://www.example.com/"
#define MyAppExeName "application.exe"
#define MyJreName "jre"

删除这行

修改成自己本地的jre路径
图片有误,根据代码块里设置
Source: "C:\Program Files\Java\jdk-17.0.4\*"; DestDir: "{app}\{#MyJreName}"; Flags: ignoreversion recursesubdirs createallsubdirs

点击这个按钮,进行编译。

点击是,然后随便起个名字保存一下,下次还可以用。

等待绿色滚动条结束

完成
桌面会多出一个安装程序setup.exe
文件,这个安装程序可以放在没有任何java环境的机器上安装并正常运行(前提端口不冲突)

并且会跳出安装程序,建议安装的时候勾选这个

打开安装好的应用

现在启动浏览器访问对应url

点击 Hi测试一下,没有问题一切顺利。
