pluginmanagement
pluginmanagement 是插件的声明,即你在项目中的 pluginManagement 下声明了插件,Maven 不会加载该插件(只有在…中定义才会加载),pluginManagement 声明可以被继承。
pluginManagement 一般是用来在 父POM 中定义,提供给 子POM 使用,子POM也可以覆盖这个定义,而且你在 父POM 中定义了版本之后,子模块中直接应用 groupId 和 artifactId,而不用指定版本,对于多个模块来说,可共享 父POM 的定义,方便了统一管理;而在 父POM 中的 pluginManagement 并不会介入到 Maven 的生命周期。
plugins
plugins 就是直接引入一个 plugin,而且可以绑定到 Maven 相关的生命周期上。
例子
1、父POM:
<build>
<pluginManagement>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>${start-class}</mainClass>
</configuration>
</plugin>
</pluginManagement>
</build>
2、子POM:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</build>
其他
dependencyManagement 与 dependencies 的关系与之类似。