簡體   English   中英

Maven自定義插件配置

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM