Override Maven's default resource filter replacement pattern

亡梦爱人 提交于 2019-12-04 16:19:41

问题


By default maven will filter resources like this:

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

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

will get you:

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

Is there a way to override the way maven selects the strings to replace? Specifically, I want to be able to use this:

<some-tag>
  <key>@replace.me@</key>
</some-tag>

to get the same result as above.


回答1:


Have a look at the delimiters parameter of the resources mojo. Configuring the plugin like this will do the trick:

<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>



回答2:


If you would like to use only one approach then disable default delimeters:

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


来源:https://stackoverflow.com/questions/2315009/override-mavens-default-resource-filter-replacement-pattern

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!