2010-02-22 82 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