本文主要是介绍spring-boot-maven-plugin:打包时排除provided依赖,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
spring-boot-maven-plugin
插件提供spring boot的maven打包支持。项目中scope为provided的依赖,比如 lombok、mybatis-plus 等,只作用于编译阶段,编译完成就可以功成身退了。在spring maven
打包时,provided依赖会排除在包外,但springboot maven
打包时,还会将这些依赖打进 war 包的 lib-provided 文件夹里或 jar 包的 lib 文件夹里。
springboot项目构建jar包或war包的命令为repackage
,作用于maven生命周期的package
阶段,在 mvn package
执行之后,这个命令再次打包生成可执行的包,例如打jar包时,生成可执行jar包,同时将 mvn package
生成的 jar 重命名为 *.origin
。默认情况下,repackage
会将工程中引入的任何依赖打到包中。
以lombok为例,官方提供了以下方式可以将provided依赖从springboot项目包中排除。
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><scope>provided</scope>
</dependency>
1. 通过指定groupId和artifactId排除某个特定的依赖
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins>
</build>
2. 指定groupId排除groupId相关的所有依赖
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludeGroupIds>org.projectlombok</excludeGroupIds></configuration></plugin></plugins>
</build>
这篇关于spring-boot-maven-plugin:打包时排除provided依赖的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!