[英]maven custom plugin configuration
我有一個Maven多模塊項目,我希望我可以使用配置文件基於POM屬性針對兩種情況自定義插件的配置,但事實證明,配置文件只能由外部屬性激活,而不能由POM屬性激活,所以我現在是尋找另一種方式來進行不同的項目配置,我想獲得一些想法。 這是我的設置
我有一個三級樹:一個具有許多子模塊A,B,C,...的根父POM X,每個模塊都有2個子模塊1和2(因此,A1,A2,B1,B2等)
我需要做的是為類型1的所有模塊和類型2的所有模塊定制葉子模塊的配置。我試圖避免使所有1共享一個公共父級,而使所有2共享另一個(不同的)公共父級,因為1和2已經共享了來自其各自父級的一些數據(示例A或B)。 如果沒有其他方法,我將把所有公用數據從A推到A1和A2(不理想,DRY原理),並使所有1繼承自公用1父對象,但我試圖避免這種情況。 就像我說的,我嘗試過的事情是在樹的葉子上設置一個屬性,並指定一個屬性是1還是2,然后將兩個不同的配置文件放入祖父母POM X中,然后基於該屬性激活配置文件。 這沒用。
還有其他建議嗎?
我相信您可以通過<pluginManagement>
完成目標
例如,在您的父POM中,您具有以下內容:
<pluginManagement>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.5</version>
<configuration>
<systemPropertyVariables>
<vendor.license.file>../licenses/vendor.lic</vendor.license.file>
</systemPropertyVariables>
</configuration>
</plugin>
</pluginManagement>
它為POM的子模塊定義了Surefire 2.5版。 請注意,您實際上可以在插件配置中放置多個版本,例如子項目繼承(並覆蓋)的配置。 請參閱《 Maven POM參考-插件管理》
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.