PropertyFile任务非常适合我想要做的事情,以下说明了我想做的事情:
<PropertyFile file="${warSrc}/web/WEB-INF/my.properties">
<entry key="compilationDate" operation="=" type="date" default="now" />
</PropertyFile>
我只想将该属性设置为上次运行编译脚本的日期。不幸的是,这个任务似乎没有与我的ant包一起分发,虽然我可以改变我的工作区来拥有它,这意味着每个带来这个项目的人都必须这样做,我想只使用核心ant任务避免额外的配置步骤。
替换任务的某些用法似乎很完美,但我不知道如何使用它们来查找以compilationDate =开头的行,然后用当前日期替换该行的其余内容。
答案 0 :(得分:0)
所以,这个问题可能表明我是一个蚂蚁新手。我想出了大多数常规蚂蚁用户已经知道的几件事。首先,PropertyFile是ant.jar中的一个可选任务,因此不需要额外的导入,但它是一个可选的任务,显然默认情况下不可用。
以下语法定义了属性文件任务,然后运行它,它几乎完全符合我的要求。
<taskdef name="propertyfile" classname="org.apache.tools.ant.taskdefs.optional.PropertyFile" >
<classpath>
<fileset dir="${ant.library.dir}">
<include name="ant.jar" />
</fileset>
</classpath>
</taskdef>
<echo message="task defined" />
<propertyfile file="my.properties">
<entry key="version" operation="=" type="date" default="now" />
</propertyfile>