maven pom中标签<plugins>和<pluginmanagement>的区别
stackoverflow中讲的不错
http://stackoverflow.com/questions/10483180/maven-what-is-pluginmanagement
pluginmanagement标签一般用在父pom中,子元素可以包含plugins插件,比如
<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>
省去了版本、配置等信息,只需指定groupId和artifactId即可。
但是在父pom中,如果使用这个标签来包裹plugins插件,当在此项目根目录运行对应的mvn命令时,如果在子pom中没有直接像上面再次引用这个plugin,那么不会触发这个plugin插件,只有在子pom中再次引用了之后,才会在对应的子项目路径下触发这个plugin.
plugins和pluginManagement标签都需要在build标签中。