2012-08-17 37 views
1

我有一個Maven子模塊,它需要將字符串附加到配置選項的現有值。父模塊如下所示:在Maven中合併配置值

<!-- in parent --> 
<plugin> 
    ... 
    <configuration> 
     <someOption>A</someOption> 
    </configuration> 
    ... 
</plugin> 

子模塊需要一個字符串追加到someOption,這樣的效果是因爲如果子模塊做了

<!-- in child --> 
<plugin> 
    ... 
    <configuration> 
     <someOption>A B</someOption> 
    </configuration> 
    ... 
</plugin> 

我看了看屬性combine.* ,但他們似乎沒有做我想做的事。有沒有辦法做到這一點?是否有可能從孩子那裏獲得父母的價值someOption

回答

2

我懷疑你將不得不退回到一個屬性。

<!-- in parent --> 
<project> 
    ... 
    <properties> 
    <foo-plugin.config.someOption>A<foo-plugin.config.someOption> 
    </properties> 
    ... 
    <build> 
    ... 
    <plugins> 
     ... 
     <plugin> 
     ... 
     <configuration> 
      <someOption>${foo-plugin.config.someOption}</someOption> 
     </configuration> 
     ... 
     </plugin> 
     ... 
    <plugins> 
    ... 
    </build> 
    ... 
</project> 

,然後孩子重新定義基於父

<!-- in child --> 
<project> 
    ... 
    <properties> 
    <foo-plugin.config.someOption>${foo-plugin.config.someOption} B<foo-plugin.config.someOption> 
    </properties> 
    ... 
</project> 

不理想的財產,但唯一的解決辦法,我可以看到現在