0

我有一个属性文件:

自定义属性

此属性文件的内容是:

id=sf2j2345kkklljhlaasfsdfafsf543
name=SOME_NAME

的值id是一个长的随机字符串。

我想制作一个Ant脚本来替换/覆盖另一个脚本的值id,我尝试使用 Ant<replace>语法:

<target name="change-id">
      <replace file="custom.properties" token="id" value="aaa" />
</target>

我运行 ant change-id ,属性文件的内容变为:

aaa=sf2j2345kkklljhlaasfsdfafsf543
name=SOME_NAME

那是关键“ id”被替换而不是它的值。但是我需要将值替换为 " aaa " ,如何在 Ant 中实现这一点?

请不要建议我设置tokenid' 的随机值,因为该值是随机生成并放在那里的。我只想id通过Ant脚本覆盖“”的随机值,如何实现?

4

1 回答 1

1

您可以使用replaceregexp任务来完成。尝试像在这个例子中那样做

conf.ini (utf-8)

aaa=sf2j2345kkklljhlaasfsdfafsf543
name=SOME_NAME

构建.xml

<project name="regexp.replace.test" default="test">

    <target name="test">
        <replaceregexp file="conf.ini" match="^aaa=.*" replace="aaa=newId" encoding="UTF-8" />
    </target>

</project>

我不确切知道这个正则表达式是否正确,但这是你可以做到的方式。

于 2013-03-14T10:47:13.057 回答