springboot项目打包为exe
在某些特殊需求场景下,需要将 Java 程序,也或者是 Springboot 项目打包成 exe 安装包。
面对这种比较刁难,而又必须得做的情况下,本文手把手教你如何将 Java 程序打包成 exe 程序。
通常有两种做法,一种是使用 Launch4j,一种是使用 exe4j。本文重点是讲解 exe4j 的使用。
Launch4j 的打包教程
以下是简化的步骤:
使用 Spring Boot Maven 插件或 Gradle 插件将 Spring Boot 应用程序打包成一个可执行的 JAR 文件。
使用 Launch4j 创建一个 .exe 文件,它将包装你的 JAR 文件并提供一个原生的 Windows 可执行文件。
使用 Inno Setup 创建一个安装程序,它可以包含你的 .exe 文件以及任何其他必要的文件,如配置文件、依赖库等,并允许用户安装他们的应用程序。
以下是一个简化的示例:
打包 JAR 文件
在 pom.xml 中添加 Spring Boot Maven 插件:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
运行 Maven 命令:
mvn clean package
使用 Launch4j 创建 .exe 文件
- 下载并安装 Launch4j。
- 创建一个配置文件(例如 config.xml),指定输入 JAR 文件、输出 .exe 文件等。
<launch4jConfig>
<dontWrapJar>false</dontWrapJar>
<headerType>gui</headerType>
<jar>path/to/your/application.jar</jar>
<outfile>output/application.exe</outfile>
<errTitle></errTitle>
<cmdLine></cmdLine>
<chdir>.</chdir>
<priority>normal</priority>
<downloadUrl>http://java.com/download</downloadUrl>
<supportUrl></supportUrl>
<customProcName>false</customProcName>
<jreMinVersion>1.8.0_20</jreMinVersion>
<jreMaxVersion></jreMaxVersion>
<maxHeapPercent>50</maxHeapPercent>
<maxHeap>128</maxHeap>
</launch4jConfig>
运行 Launch4j,使用配置文件创建 .exe 文件。
使用 Inno Setup 创建安装程序
- 下载并安装 Inno Setup。
- 创建一个新的脚本文件(例如 script.iss),指定应用程序的 .exe 文件、图标、输出安装程序文件等。
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
[Setup]
; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{E4A9637B-6A8A-414B-A8D5-D49D7F82B674}
AppName=My Application
AppVersion=1.0
;AppVerName=My Application 1.0
AppPublisher=My Company
AppPublisherURL=http://www.example.com
AppSupportURL=http://www.example.com
AppUpdatesURL=http://www.example.com
DefaultDirName={autopf}\My Application
DisableProgramGroupPage=yes
OutputDir=userdocs:Inno Setup Examples Output
OutputBaseFilename=setup_myapp
Compression=lzma
SolidCompression
以上,看似比较简单,实际上一不小心很容易出问题。
下面我们重点讲讲 exe4j 的用法。
exe4j 的打包教程
- 一个可正常运行的 SpringBoot 项目
- exe4j,一个将jar转换成 exe 的工具,
注册码:略
- inno setup,一个将依赖和 exe 一起打成一个安装程序的工具
SpringBoot项目打成jar包
将jar包转为exe可执行文件(exe4j)
1、打开安装好的exe4j软件激活软件
2、点击Next->选择'JAR'in'EXE'mode
3、 Next-->填写应用名称以及输出位置(随意)
4、选择启动模式
5、设置兼容性:32/64
勾选:
6、Next到如下界面,开始选择jar包以及配置
在JVM的参数配置上添加:-Dfile.encoding=utf-8
第一步:点击+号选择你的jar包
第二步:选择加载器
7、配置Jre
照着这个样子写的目的是,最终会把本地jre目录和exe一起打包,让exe文件自己去根据路径去查找一起打包的jre,可不用再安装jdk。
选择ClientVM
这个时候你会发现桌面多了一个demo.exe文件,这个时候先别着急点开,接下来就是将jre和exe文件再打个包合并,达到在没有jdk电脑环境下也能运行。
将exe打包成安装程序
将exe打包成安装程序,实质在可执行文件中添加jre环境(inno setup)
1、选择左上角的File-->New
以下的信息随意
Next--默认-->Next
然后下一步,进入这个界面保持默认,直接下一步:
依旧下一步:
继续下一步:
2、选择输出路径和填写安装程序的名字
3、脚本文件
配置到最后一步了,脚本文件,到这里会弹出问你是否马上编译,选择否,先把脚本写好再自己编译。
然后到了最后一步了,把本地的JRE写进脚本:
1、#define MyJreName "jre"
2、Source: "自己本地JRE路径\\\*"; DestDir: "{app}\\{#MyJreName}"; Flags: ignoreversion recursesubdirs createallsubdirs
修改完成如下:
4、编译安装
然后直接编译就好了,会提示保存当前脚本,随便起个名字,下个还可以继续用
然后等待绿色滚动条结束:
当绿色滚动条结束后,桌面会多了一个setup.exe文件(安装文件)
也同时会跳出一个安装的,因为程序帮你自动启动生成的安装程序了,安装就可以了,安装的时候记得勾选创建快捷方式。
这个就是最后的程序了,双击运行就可以看到结果了,把setup.exe文件给别人安装,就都可以看到自己的程序了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」