maven项目中pom配置文件中的plugin插件介绍

1,910 阅读1分钟

pom文件中关于plugin中spring-boot-maven-plugin插件功能

本文对比此插件对于打包情况影响

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
</plugin>

存在此插件的情况下打包0.0.1-plug版本

打包出来的结果 image.png 其中一个可以独立执行的jar文件, 里面包含当前项目所需要的外部依赖 另一个是.jar.original文件 里面只有当前当前项目

使用maven install到本地仓库之后 image.png 发现是一个可以独立执行的jar文件

这时如果被其他项目引入的话 maven显示正常加载 image.png 但是查看引入包内容的话发现没有正常的代码 image.png 代码中也无法正常使用 image.png

不使用插件的情况下打包0.0.2-without-plug版本

打包出的结果 image.png 发现只有一个.jar文件,这个文件不包含外部依赖,无法独立启动 image.png intall 到本地仓库 image.png

这时如果被其他项目引入的话 查看依赖内容,少了org目录,多了自己的代码目录com image.png 可以正常导入,并且使用 image.png

效果使用插件不使用插件
打包结果正常打包正常打包
jar包大小48758KB9kB
单独启动可以不可以
当做第三方依赖引入不可以可以

总结

spring-boot-maven-plugin插件的主要作用为了缩短打包过程

使用插件之后打包的结果可以称之为'fat'包, 可以看到jar包大小远远超过我们的代码量, 但是这个jar包是可以直接启动的

如果想要作为第三方库被人引用的话,就需要去掉这个插件