SpringBoot项目打包为window安装包的实现

 更新时间:2026年03月06日 08:29:40   作者:秋书一叶  
本文主要介绍了SpringBoot项目打包为window安装包的实现,通过jpackage及maven插件的方式将springboot项目打包为exe或msi,下面就一起来了解一下

通过jpackage及maven插件的方式将springboot项目打包为exe或msi

pom.xml 添加插件

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>3.1.0</version>
                <executions>
                    <execution>
                        <id>jpackage-msi</id>
                        <phase>package</phase>
                        <goals>
                            <goal>exec</goal>
                        </goals>
                        <configuration>
                            <executable>jpackage</executable>
                            <arguments>
                                <!-- 安装包类型:推荐使用 msi 可自选安装目录 -->
                                <argument>--type</argument>
                                <argument>msi</argument>

                                <!-- 应用名称 -->
                                <argument>--name</argument>
                                <argument>${project.name}</argument>

                                <!-- jar 文件所在路径 -->
                                <argument>--input</argument>
                                <argument>${project.build.directory}</argument>

                                <!-- 主 jar 文件 -->
                                <argument>--main-jar</argument>
                                <argument>${project.build.finalName}.jar</argument>

                                <!-- 输出目录 -->
                                <argument>--dest</argument>
                                <argument>${project.build.directory}/installer</argument>

                                <!-- 图标(.ico 格式) -->
                                <argument>--icon</argument>
                                <argument>${project.basedir}/src/main/resources/icon.ico</argument>

                                <!-- 自动添加开始菜单 + 桌面快捷方式 -->
                                <argument>--win-shortcut</argument>

                            </arguments>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

必要环境及工具

  1. JDK 版本:需要 JDK 14 或更高版本(jpackage 从 JDK 14 开始提供)
  2. 操作系统:建议在 Windows 系统上执行打包(跨平台打包可能有问题)
  3. Spring Boot 版本:2.3.0 或更高版本(对 jpackage 支持更好)
  4. WiX Toolset(用于生成 MSI 安装包)

WiX Toolset安装

下载

github下载地址

安装

配置环境变量

运行

mvn clean package

会在 target\installer 目录下生成 对应的msi,双击安装至C:\Program Files\目录下,自动创建桌面快捷键

到此这篇关于SpringBoot项目打包为window安装包的实现的文章就介绍到这了,更多相关SpringBoot打包为window安装包内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JAVA中使用FTPClient实现文件上传下载实例代码

    JAVA中使用FTPClient实现文件上传下载实例代码

    本文给大家介绍如何利用jakarta commons中的FTPClient(在commons-net包中)实现上传下载文件。非常不错具有参考借鉴价值,感兴趣的朋友一起学习吧
    2016-06-06
  • Java之NIO基本简介

    Java之NIO基本简介

    这篇文章主要介绍了Java之NIO基本简介,文中给大家讲到了NIO 与 BIO的比较结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • java中for和forEach的速度比较实例Demo

    java中for和forEach的速度比较实例Demo

    for循环中的循环条件中的变量只求一次值,而foreach语句是java5新增,在遍历数组、集合的时候,foreach拥有不错的性能,这篇文章主要给大家介绍了关于java中for和forEach速度比较的相关资料,需要的朋友可以参考下
    2021-08-08
  • quartz实现定时功能实例详解(servlet定时器配置方法)

    quartz实现定时功能实例详解(servlet定时器配置方法)

    Quartz是一个完全由java编写的开源作业调度框架,下面提供一个小例子供大家参考,还有在servlet配置的方法
    2013-12-12
  • Springboot+Easyexcel将数据写入模板文件并导出Excel的操作代码

    Springboot+Easyexcel将数据写入模板文件并导出Excel的操作代码

    这篇文章主要介绍了Springboot+Easyexcel将数据写入模板文件并导出Excel的操作代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2025-05-05
  • Intellij IDEA如何自定义注释模板的实现方法

    Intellij IDEA如何自定义注释模板的实现方法

    这篇文章主要介绍了Intellij IDEA如何自定义注释模板的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • Spring5中的WebClient使用方法详解

    Spring5中的WebClient使用方法详解

    这篇文章主要给大家介绍了关于Spring5中WebClient使用方法的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring5具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-11-11
  • Java多线程窗口售票问题实例

    Java多线程窗口售票问题实例

    这篇文章主要介绍了Java多线程窗口售票问题实例,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • java基础学习笔记之泛型

    java基础学习笔记之泛型

    所谓泛型,就是变量类型的参数化。泛型是JDK1.5中一个最重要的特征。通过引入泛型,我们将获得编译时类型的安全和运行时更小的抛出ClassCastException的可能。在JDK1.5中,你可以声明一个集合将接收/返回的对象的类型。
    2016-02-02
  • Java的Lambda表达式使用及说明

    Java的Lambda表达式使用及说明

    文章介绍了JavaSE8中的Lambda表达式,其基本语法、函数接口的概念以及在集合中的使用,同时,还讨论了Lambda表达式的变量捕获和一些优点与缺点
    2026-02-02

最新评论