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 文件

  1. 下载并安装 Launch4j。
  2. 创建一个配置文件(例如 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 创建安装程序

  1. 下载并安装 Inno Setup。
  2. 创建一个新的脚本文件(例如 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 的打包教程

  1. 一个可正常运行的 SpringBoot 项目
  2. exe4j,一个将jar转换成 exe 的工具, 注册码:略
  3. 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文件给别人安装,就都可以看到自己的程序了。

原文链接

posted @   Abserver  阅读(296)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示