在Ant构建中使用linecontainsregexp的正确方法是什么?

时间:2013-08-27 09:47:14

标签: java ant build build-process build-automation

当我添加

<linecontainsregexp negate="true">
                 <regexp pattern="src=&quot;http://*"/>
            </linecontainsregexp>

<replaceregexp>内部任务,我收到错误 replaceregexp doesn't support the nested "linecontainsregexp" element.

1 个答案:

答案 0 :(得分:2)

<linecontainsregexp>仅在<filterchain>内有效。反过来,任务<filterchain>不支持<replaceregexp>。只有任务支持

复制文件后通常会应用

<replaceregexp><filterchain>已应用执行副本。

基本上,您有两种选择:

  1. 使用更复杂的正则表达式修改您的<replaceregexp>任务,该正则表达式只匹配您想要的内容,可能需要使用外观。
  2. <filterchain>添加到您用于从源管理系统复制这些文件的<copy><move>任务。根据需要包含过滤器<tokenfilter>,最有可能包含孩子<filetokenizer/>,孩子<containsregex><replaceregex>。这更加灵活。有几十个过滤器和标记器可供选择。