替换/添加属性文件中的属性

时间:2016-03-22 20:35:03

标签: java ant ibm-rad

PropertyFile任务非常适合我想要做的事情,以下说明了我想做的事情:

    <PropertyFile file="${warSrc}/web/WEB-INF/my.properties">
        <entry key="compilationDate" operation="=" type="date" default="now" />
    </PropertyFile>

我只想将该属性设置为上次运行编译脚本的日期。不幸的是,这个任务似乎没有与我的ant包一起分发,虽然我可以改变我的工作区来拥有它,这意味着每个带来这个项目的人都必须这样做,我想只使用核心ant任务避免额外的配置步骤。

替换任务的某些用法似乎很完美,但我不知道如何使用它们来查找以compilationDate =开头的行,然后用当前日期替换该行的其余内容。

1 个答案:

答案 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>