Maven pom 中plugins和pluginManagement 的区别
Posted wei198621
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven pom 中plugins和pluginManagement 的区别相关的知识,希望对你有一定的参考价值。
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 中plugins和pluginManagement 的区别的主要内容,如果未能解决你的问题,请参考以下文章
Eclipse (pom.xml) 中的 Maven 错误:传输 org.apache.maven.plugins:maven-surefire-plugin:pom:2.12.4 失败
Maven`pom.xml`中<plugins>和<pluginManagement>标签之间的区别[重复]
Maven中plugins和pluginManagement的区别
maven---Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.12.4
POM报错Failure to transfer org.apache.maven.plugins:maven-resources-plugin:pom:2.6 from