maven中plugins和pluginmanagement的区别

来源:互联网 发布:男主换脸的网络电影 编辑:程序博客网 时间:2024/06/05 21:01

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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

然后,在子pom文件中就可以这样使用:

<plugins>    <plugin>        <groupId>org.apache.maven.plugins</groupId>        <artifactId>maven-source-plugin</artifactId>    </plugin></plugins>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

省去了版本、配置等信息,只需指定groupId和artifactId即可。

但是在父pom中,如果使用这个标签来包裹plugins插件,当在此项目根目录运行对应的mvn命令时,如果在子pom中没有直接像上面再次引用这个plugin,那么不会触发这个plugin插件,只有在子pom中再次引用了之后,才会在对应的子项目路径下触发这个plugin.

plugins和pluginManagement标签都需要在build标签中。


这里两者的关系有点类似于dependencyManagement和 dependencies的关系,在dependencyManagement中写的依赖只是声明,并不引入,只有在dependencies中写了,才会真实的引入进来

4 0
原创粉丝点击