Maven中plugins和pluginManagement的区别

pluginManagement是表示插件声明,即你在项目中的pluginManagement下声明了插件,Maven不会加载该插件pluginManagement声明能够被继承。apache

pluginManagement通常是用来在父POM中定义,提供给子POM使用,子POM也能够覆盖这个定义,并且你在父POM中定义了版本以后,子模块中直接应用groupIdartifactId,而不用指定版本,同时也方便统一管理;而在父POM中的pluginManagement并不会介入到Maven的生命周期。maven

plugins就是直接引入一个plugin,并且能够绑定到Maven相关的生命周期上。spa

pluginManagement主要是为了统一管理插件,确保全部子POM使用的插件版本保持一致,相似dependenciesdependencyManagement插件

父POMcode

复制代码
<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>
复制代码

子POMorm

复制代码
<plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> </plugin> </plugins>
复制代码
相关文章
相关标签/搜索