build标签详解
1.一睹真容
在实际使用Maven的过程中,我们会发现build标签有时候有,有时候没有,这是怎么回事呢?其实通过有效POM我们能够看到,build标签其实一直都在,只是在我们需要定制构建过程的时候才会通过配置build标签覆盖默认值或者补充配置。这一点我们可以通过打印有效POM来看。
所以本质上来说,我们配置的build标签都是对超级POM配置的叠加。那么我们又为什么在默认的配置的基础上叠加呢?很简单,在默认配置无法满足需求的时候定制构建过程。
2.build标签组成
从完整示例可以看出,build标签大概包含三个主题部分
①定义约定的目录结构
参考:
②备用插件管理
pluginsManagement标签存放着几个极少用到的插件:
- maven-antrun-plugin
- maven-assembly-plugin
- maven-dependency-plugin
- maven-release-plugin
通过pluginsManagement标签管理起来的插件就像 dependencyManagement一样,子工程使用时可以省去版本号,在父工程中统一管理
- 被spring-boot-dependencies管理的插件信息
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.6.2</version>
</plugin>
- 子工程使用的插件信息
<!--build标签,用来配置对构建过程的定制-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot