在我的專案中,我有以下的插件配置:
<plugin>
<groupId>net.revelc.code</groupId>
<artifactId>impsort-maven-plugin</artifactId>
<version>/span>1.4.0</version>/span>
<configuration>/span>
<includes>/span>
<include>AA</include>
</include>/span>
</configuration>/span>
<執行>/span>
<execution>>
<id>the_same_id</id>/span>
<phase>process-test-classes</phase>
<goals>/span>
<goal> check</goal>
</goals>/span>
</執行>/span>
</executions>/span>
</plugin>/span>
而在我的父pom中的插件配置如下:
<plugin>
<groupId>net.revelc.code</groupId>
<artifactId>impsort-maven-plugin</artifactId>/span>
<version>/span>1.5.0</version>/span>
<configuration>/span>
<lineEnding>/span>LF</lineEnding>/span>
<includes>/span>
<include>/span>A</include>
<include>/span>B</include>/span>
<include>/span>C</include>/span>
</include>/span>
</configuration>/span>
<執行>/span>
<execution>>
<id>the_same_id</id>/span>
<phase>process-sources</phase>
<goals>/span>
<goal>sort</goal>
</goals>/span>
</執行>/span>
</executions>/span>
</plugin>/span>
當我運行mvn help:effecive:pom時,這是我的插件的合并后的配置:
<plugins>
<plugin>/span>
<groupId>net.revelc.code</groupId>
<artifactId>impsort-maven-plugin</artifactId> //span>
<version>/span>1.4.0</version>/span>
<執行>/span>
<execution>>
<id>the_same_id</id>/span>
<phase>process-test-classes</phase>
<goals>/span>
<goal> check</goal>
<goal>sort</goal>
</goals>/span>
<configuration>>
<includes>/span>
<include>AA</include>
</include>/span>
<lineEnding>/span>LF</lineEnding>/span>
</configuration>/span>
</執行>/span>
</executions>/span>
<configuration>>
<includes>/span>
<include>AA</include>
</include>/span>
<lineEnding>/span>LF</lineEnding>/span>
</configuration>/span>
</plugin>/span>
根據這個插件配置的默認合并行為:
是根據元素名稱來合并配置元素的內容。
這顯示在includes部分,因為它只包含來自專案pom而不是來自父pom的內容。然而,按照這個邏輯,我不明白為什么 effective-pom 配置包含兩個目標,而不是只有一個來自專案配置。
uj5u.com熱心網友回復:
編輯:在POM參考,插件部分,它是正確的記錄。謝謝Karl 指出這一點!
在負責合并的代碼庫中,每個屬性都略有不同。
如果你的目標沒有被排除,那么這些將被合并到一起。
此外,鑒于插件的生命周期配置,您的配置可能會被合并得不同。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/310148.html
標籤:
下一篇:Maven中的SpringBoot:"在META-INF/spring.factories中沒有發現自動配置類"
