pom文件中关于plugin中spring-boot-maven-plugin插件功能
本文对比此插件对于打包情况影响
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
存在此插件的情况下打包0.0.1-plug版本
打包出来的结果
其中一个可以独立执行的jar文件, 里面包含当前项目所需要的外部依赖
另一个是.jar.original文件 里面只有当前当前项目
使用maven install到本地仓库之后
发现是一个可以独立执行的jar文件
这时如果被其他项目引入的话
maven显示正常加载
但是查看引入包内容的话发现没有正常的代码
代码中也无法正常使用
不使用插件的情况下打包0.0.2-without-plug版本
打包出的结果
发现只有一个.jar文件,这个文件不包含外部依赖,无法独立启动
intall 到本地仓库
这时如果被其他项目引入的话
查看依赖内容,少了org目录,多了自己的代码目录com
可以正常导入,并且使用
效果 | 使用插件 | 不使用插件 |
---|---|---|
打包结果 | 正常打包 | 正常打包 |
jar包大小 | 48758KB | 9kB |
单独启动 | 可以 | 不可以 |
当做第三方依赖引入 | 不可以 | 可以 |
总结
spring-boot-maven-plugin插件的主要作用为了缩短打包过程
使用插件之后打包的结果可以称之为'fat'包, 可以看到jar包大小远远超过我们的代码量, 但是这个jar包是可以直接启动的
如果想要作为第三方库被人引用的话,就需要去掉这个插件