Maven中plugins和pluginManagement的區別


pluginManagement是表示插件聲明,即你在項目中的pluginManagement下聲明了插件,Maven不會加載該插件,pluginManagement聲明可以被繼承。

pluginManagement一般是用來在父POM中定義,提供給子POM使用,子POM也可以覆蓋這個定義,而且你在父POM中定義了版本之后,子模塊中直接應用groupIdartifactId,而不用指定版本,同時也方便統一管理;而在父POM中的pluginManagement並不會介入到Maven的生命周期。

plugins就是直接引入一個plugin,而且可以綁定到Maven相關的生命周期上。

pluginManagement主要是為了統一管理插件,確保所有子POM使用的插件版本保持一致,類似dependenciesdependencyManagement

例子:

父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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM