ANT +不替换文件列表中的变量

时间:2010-01-06 19:49:12

标签: ant replace token

这应该是一个简单的。我有另一个代码库,这是有效的,但由于某种原因,它根本不会在这里工作。我的文件will.txt未经修改。

这是我的ant构建文件的exerp .. 我已经浪费了几个小时的想法,试图让它发挥作用。

<loadfile
       property="config.update.list"
       srcFile="config.update.list" failonerror="true">
  <filterchain>
     <replacetokens>        
        <token key="__PRODUCT_VERSION__" value="CATTY"/>
     </replacetokens>
     <striplinebreaks/>
  </filterchain>
</loadfile>

<echo>${config.update.list}</echo>

以下是文件config.update list

的内容

/tmp/will.txt

以下是/tmp/will.txt

的内容
@__PRODUCT_VERSION__@ will

1 个答案:

答案 0 :(得分:2)

来自Alexander Pogrebnyak的评论。属性srcFile应指向文件名/tmp/will.txt

<loadfile
   property="config.update.list"
   srcFile="/tmp/will.txt" failonerror="true">

或者,如果文件名存储在此属性中,则应使用srcFile="${config.update.list}"。无论如何,ant不允许你改变属性的值。因此,如果已经设置了输出,则无法使用property="config.update.list"。尝试使用其他属性进行输出:

<loadfile
   property="config.update.list.output"
   srcFile="/tmp/will.txt" failonerror="true">
...
<echo>[${config.update.list.output}]</echo>