Maven pom 中plugins和pluginManagement的区别
https://www.cnblogs.com/whx7762/p/8072755.html
pluginManagement是表示插件声明,即你在项目中的pluginManagement下声明了插件,Maven不会加载该插件,pluginManagement声明可以被继承。
pluginManagement一般是用来在父POM中定义,提供给子POM使用,子POM也可以覆盖这个定义,而且你在父POM中定义了版本之后,子模块中直接应用groupId和artifactId,而不用指定版本,同时也方便统一管理;而在父POM中的pluginManagement并不会介入到Maven的生命周期。
plugins就是直接引入一个plugin,而且可以绑定到Maven相关的生命周期上。
pluginManagement主要是为了统一管理插件,确保所有子POM使用的插件版本保持一致,类似dependencies和dependencyManagement。
例子:
父POM
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.1</version>
<configuration>
<attach>true</attach>
</configuration>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
子POM
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
</plugin>
</plugins>
本文详细介绍了Maven pom配置中pluginManagement和plugins的区别。pluginManagement用于声明插件及其版本,但不执行,主要在父POM中定义,供子POM继承,方便统一管理插件版本。而plugins则是直接引入并执行插件,可以绑定到Maven的生命周期。通过一个具体的例子,展示了如何在父POM和子POM中使用这两个元素。
2183

被折叠的 条评论
为什么被折叠?



