有没有办法在 ant build 中转义“@”

Is there a way to esacpe "@" in ant build

我正在尝试将文件名列表回显到一个附加有 2 @ 作为前缀的文件
例如。
@@some_filename
@@some_filename2

下面是我目前正在做的事情,它工作正常并按预期输出,除了以一种非常愚蠢的方式完成。

<fileset id="filesref" dir="some_path" includes="**/*.txt"/>
<property name="files" refid="filesref"/>
<for list="${files}" delimiter=";" param="file" >
    <sequential>
        <echo file="somefile" message="@@@@@{file}${line.separator}" append="true"/>
    </sequential>
</for>

有没有办法转义 @ 符号,这样我的消息可能看起来像下面这样(假设 \ 转义)

<echo file="somefile" message="\@\@@{file}${line.separator}"/>

提前致谢。

您只需要在 antcontrib 任务中转义 @s 具有特殊含义(变量印记)的地方。您可以这样做,让眼睛看起来更轻松:

<property name="prefix" value="@@" />

<for list="${files}" delimiter=";" param="file" >
  <sequential>
    <echo file="somefile" append="yes" message="${prefix}@{file}${line.separator}"/>
  </sequential>
</for>