2010-02-22 70 views
15

默認情況下Maven會過濾資源是這樣的:覆蓋Maven的默認資源過濾器更換模式

<properties> 
    <replace.me>value</replace.me> 
</properties> 

<some-tag> 
    <key>${replace.me}</key> 
</some-tag> 

將讓你:

<some-tag> 
    <key>value</key> 
</some-tag> 

有沒有辦法覆蓋maven的方式選擇字符串更換?具體來說,我想能夠使用這個:

<some-tag> 
    <key>@[email protected]</key> 
</some-tag> 

得到與上面相同的結果。

回答

18

看看資源mojo的delimiters參數。這樣的配置的插件就可以了:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-resources-plugin</artifactId> 
    <version>2.4.2</version> 
    <configuration> 
    <delimiters> 
    <delimiter>${*}</delimiter><!-- to keep the default behavior --> 
    <delimiter>@</delimiter><!-- to add Ant-like tokens style --> 
    </delimiters> 
    </configuration> 
</plugin> 
15

如果你想只用一個方法,然後禁用默認定界符:

<useDefaultDelimiters>false</useDefaultDelimiters> 
<delimiters> 
    <delimiter>@</delimiter> 
</delimiters> 
+5

+1,將是很好的,如果官方的文檔告訴你,即使定義你自己的你仍然必須關閉默認的。 – RyanfaeScotland 2013-11-20 18:44:50