spring-boot-maven-pluginspringboot打包配置问题
- 电脑硬件
- 2025-07-23 08:06:02

目录
一、打包可执行jar
二、打包非可执行jar
三、两种jar对比
springboot项目的pom文件中一般都配置了spring-boot-maven-plugin打包插件。
<!-- 打包插件依赖 --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin>一般情况下,只需要映入 spring-boot-maven-plugin 依赖即可,但是某些情况下还是需要额外配置部分参数。
一、打包可执行jar可执行jar,包含了项目运行所需的所有jar,打包后可使用 java -jar xxx.jar 目录运行,譬如常用的SpringBoot的web项目,还有常规的application为web项目。
如果项目中存在多个main方法(多个主类),就需要配置<mainClass>指定主类
<!-- 打包插件依赖 --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!-- 主类,入口 --> <mainClass>com.zhh.zhhd.ZhhdApplication</mainClass> <!-- <includeSystemScope>true作用:如果项目中存在本地jar,打成jar的同时将本地jar包也引入进去 --> <includeSystemScope>true</includeSystemScope> </configuration> </plugin> 二、打包非可执行jar非可执行jar中只有源码,不包含依赖的其他jar,非可执行jar一般都是用做依赖包,譬如我们项目的pom文件引入的各种第三方依赖包,这些依赖包一般都是不可以直接运行的。
非可执行jar,只需要在配置中添加标签:<skip>true</skip>
<!-- 打包插件依赖 --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!-- 主类,入口 --> <mainClass>com.zhh.zhhd.ZhhdApplication</mainClass> <!-- <includeSystemScope>true作用:如果项目中存在本地jar,打成jar的同时将本地jar包也引入进去 --> <includeSystemScope>true</includeSystemScope> <!-- <skip>true</skip>:只打包源码,不是一个可执行(运行)jar,是一个依赖包 <skip>false</skip>:默认的值,包含源码和依赖包,是一个可执行(运行)jar --> <skip>true</skip> </configuration> </plugin>作用:
<skip>true</skip>:只打包源码,不是一个可执行(运行)jar,是一个依赖包 <skip>false</skip>:默认的值,包含源码和依赖包,是一个可执行(运行)jar
三、两种jar对比1)大小不一样
可执行jar包含了项目运行所需要的所有外部依赖包,非可执行jar只包含源码,所有大小不一样。
1)jar包的目录不一样
可执行jar,在源码class目录外层多了BOOT-INF目录,里面多了lib目录,lib下包含了所需的工作依赖jar,MANIFEST.MF文件中多了启动类的配置
非可执行jar
可执行jar
根据不同情况选择不同的打包配置。
spring-boot-maven-pluginspringboot打包配置问题由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“spring-boot-maven-pluginspringboot打包配置问题”
上一篇
去除PDF论文行号的完美解决方案