ANT中的StripLineBreak参数

时间:2010-04-23 22:10:15

标签: ant

我正在使用ant 1.6.2 ...我想为StripLineBreaks提供参数(实际上,我想删除文本中的任何\ r \ n,但不是\ n。

所以,我尝试过(在build.xml文件中)

<copy file="a" todir="/tmp/work>
   <filterchain>
      <filterreader classname="org.apache.tools.ant.filters.StripLineBreaks>
         <param name="linebreaks" value="\r"/>
      </filterreader>
   </filterchain>
</copy>

使用上面的条带所有字母“r”(例如,“jar”变成“ja”)

我试过“\ r”,“\\ r”和“\\ r”

我无法将ant升级到更高版本。

非常感谢帮助。

1 个答案:

答案 0 :(得分:2)

为了回答所写的问题,StripLineBreaks按字面意思使用XML中的值,因此指定“\ r”只意味着\和r。而是使用XML字符引用对CR进行编码:

<copy file="a" todir="/tmp/work">
  <filterreader classname="org.apache.tools.ant.filters.StripLineBreaks">
    <param name="linebreaks" value="&#13;"/>
  </filterreader>
</copy>

当然,直接使用fixcrlf任务更容易:

<fixcrlf file="a.xml" destdir="/tmp/work" eol="lf"/>