У меня была эта проблема сегодня. Чтобы решить эту проблему, я использовал команду перемещения вместо loadfile или copy. Это сработало для меня, потому что мой файл был довольно маленьким Другое предостережение по этому поводу состоит в том, что для замены токенов нужен начальный идентификатор и конечный идентификатор токена; begintoken и endtoke соответственно. Если они не установлены, значениями по умолчанию являются символ @. Поэтому, если вы хотите заменить значение, такое как MY_SERVER_PLACE_HOLDER, это означает, что значение в вашем файле должно быть @ MY_SERVER_PLACE_HOLDER @. Если вы хотите, чтобы ваш токен начинался с чего-то иного, чем вы должны указать значения begintoken и endtoken. Это должно дать вам представление о проблемах, которые принесут вам токен begin и endtoken.
Итак, вот что я сделал в двух словах
- Переместил файл во временную папку. В этом ходу я использовал
filterchain с removetokens для изменения значений в файле.
- На шаге 2 я переместил файл обратно в его исходное местоположение.
- Затем я использовал команду delete для удаления созданной временной папки.
Вот что я сделал. (Не может быть синтаксически правильным, так как сейчас я не нахожусь перед кодом)
<move todir="temp">
<fileset basedir="in">
<include name="myfile.dat" />
</fileset>
<filterchain>
<replacetokens>
<token key="MY_SERVER_PLACE_HOLDER" value="http://www.someserver.com" />
</replacetokens>
<tabstospaces />
</filterchain>
</move>
<move todir="in">
<fileset basedir="temp">
<include name="myfile.dat" />
</fileset>
</move>
<delete dir="temp" />