SpringBoot项目打包发布

SpringBoot

Spring Boot 为我们使用、构建和运行 Spring 项目带来了极大的方便,Spring Boot 可以通过 Gradle 或者 Maven 插件将项目构建成可执行的 Jar 包,使得我们写的 Web 项目也可以直接通过 java -jar xxx.jar 方式直接启动,下面我们根据源码来看看,Spring Boot 是如何将代码及依赖的 Jar 包通过插件构建到一个完整的 Jar 包里。

根据 Spring 官方文档和 pom.xml 文件可以发现,Spring Boot 在 Maven 是通过引入 spring-boot-maven-plugin 插件来构建可执行 Jar 包的。

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
1
2
3
4
5
6
7
8

我们可以找到 spring-boot-maven-plugin 官方文档打包可执行档案 :: Spring Boot (opens new window),其实 spring-boot-maven-plugin 的真实配置是下面这样的,配置了一个名为 repackage 的 goal,如果项目使用了 spring-boot-starter-parent,它就默认帮我们省去了这个配置。

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

将当前项目模块进行打包处理(clean package),打包完成后,会在项目的target目录下生成xxx.jar程序文件。

将xxx.jar文件复制到部署目录下,随后通过命令行方式执行此文件。

java -jar xxx.jar
1

此时,SpringBoot项目将以一个独立的*.jar文件的方式执行。将此jar文件上传到任何配置有JDK的系统内,可以轻松实现项目的发布。

参考资料:https://blog.csdn.net/ttzommed/article/details/114984341

最近修改于: 2025/1/1 23:40:50
    和宇宙温柔的关联
    房东的猫