3

在我的构建文件中,我有一个 ant 目标,其中有以下代码段,

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

我想用“configuration.properties”文件中的路径替换“custom.dir”属性,但是一旦我执行我的目标,我就会将“custom.dir”属性的条目修改为

custom.dir=c:arenaplaygroundmytestapp/tasks/custom

代替

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

我应该怎么做才能使用正确的文件分隔符将路径正确写入“configuration.properties”文件。我在 windows 上,使用的 ant 是 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 回答