Муравей заменяет токен из файла свойств - PullRequest
7 голосов
/ 10 сентября 2010

Я хотел бы заменить токены в исходных файлах на Ant:

some test ${foo} other text ...

Токены содержатся в файле свойств, например ::100100

foo=1

На самом деле это легко, если токены в исходных файлах были как '@@ foo @@' или 'foo', но я не могу заменить весь токен: $ {foo}

Я добился успеха несколько лет назад, но на этот раз я потерпел неудачу ...

Спасибо

1 Ответ

4 голосов
/ 10 сентября 2010

Это похоже на эти .

Свойства загружаются из файла properties.txt.Недостатком здесь является то, что все вхождения ${ во входном тексте преобразуются в { до замены токена - что может привести к поломке, если эта строка появится в другом месте текста.Если это проблема, все же возможно адаптировать это решение.

<copy file="input.txt" tofile="output.txt">
    <filterchain>
    <replaceregex pattern="\$\{" replace="{" />
    <filterreader classname="org.apache.tools.ant.filters.ReplaceTokens">
            <param type="propertiesfile" value="properties.txt"/>
            <param type="tokenchar" name="begintoken" value="{"/>
            <param type="tokenchar" name="endtoken" value="}"/>
    </filterreader>
    </filterchain>
</copy>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...