3

私のビルドファイルには、次のスニペットがあるantターゲットがあります。

 <replaceregexp replace="custom.dir=${basedir}/tasks/custom" byline="true" file="${basedir}/MyApp/configuration.properties">
        <regexp pattern="custom.dir=(.*)"/>
 </replaceregexp>

「custom.dir」プロパティを「configuration.properties」ファイルのパスに置き換えたかったのですが、ターゲットを実行すると、「custom.dir」プロパティのエントリが次のように変更されます。

custom.dir=c:arenaplaygroundmytestapp/tasks/custom

それ以外の

custom.dir=c:\arena\playground\mytestapp/tasks/custom

適切なファイルセパレーターを使用して「configuration.properties」ファイルへのパスを正しく書き込むにはどうすればよいですか。私はWindowsを使用しており、使用されるアリは ant 1.8 です。

4

1 に答える 1

5

WINDOW_STYLE_PATH をファイルに書き込もうとすると、WINDOW_FILE_SEPARATOR がエスケープ シーケンス文字として認識されます。そのため、パスをファイルに書き込む前に UNIX スタイルでパスを変更できます。Pathconvert は、パスの変換を支援します...

<pathconvert property="new" dirsep="/">
    <path location="${basedir}"/>
</pathconvert>
    <echo message="${new}"/>
 <replaceregexp replace="custom.dir=${new}/tasks/custom" byline="true" file="${basedir}/configuration.properties">
        <regexp pattern="custom.dir=(.*)"/>
 </replaceregexp>
于 2012-11-27T10:42:02.203 に答える