文章目录
- 一、Spring Boot Maven/Gradle插件默认打包方式
-
- 1.1 基本原理
- 1.2 配置方式
- 1.3 打包结构分析
- 1.4 运行方式
- 1.5 高级配置
- 1.6 优缺点分析
- 1.7 适用场景
- 二、Maven Shade插件打包方式
-
- 2.1 基本原理
- 2.2 配置方式
- 2.3 打包结构分析
- 2.4 运行方式
- 2.5 高级配置
- 2.6 优缺点分析
- 2.7 适用场景
- 三、Maven Assembly插件打包方式
-
- 3.1 基本原理
- 3.2 配置方式
- 3.3 自定义Assembly描述符
- 3.4 创建可执行jar
- 3.5 打包结构分析
- 3.6 运行方式
- 3.7 优缺点分析
- 3.8 适用场景
- 四、总结
在Spring Boot应用开发中,打包是将应用及其所有依赖整合到一个可执行文件中的过程,这种包含所有依赖的jar文件通常被称为"Fat Jar"。
一、Spring Boot Maven/Gradle插件默认打包方式
1.1 基本原理
Spring Boot提供了官方的Maven和Gradle插件,用于创建可执行的jar或war文件。
这是最常用的打包方式,也是Spring Boot官方推荐的方法。
该插件会创建一个包含应用代码、依赖库以及嵌入式容器(如果需要)的自包含可执行jar文件。
Spring Boot的jar包采用了特殊的"嵌套jar"结构,它通过自定义的JarLauncher类加载各个嵌套的jar包,避免了传统"胖jar"中的类路径问题。
1.2 配置方式
Maven配置
在pom.xml文件中添加Spring Boot Maven插件:
<build>