JavaAnt,从一个属性值引用到另一个属性值
我在init目标中有一个任务,它创建了一个名为“TODAY”的属性:
<tstamp>
<format property="TODAY" pattern="kk:mm:ss-MM-dd-yyyy" locale="en,US"/>
</tstamp>
以及一个名为“store.dir”的属性,用于我希望生成的文件驻留的位置:
<property name="store.dir" value="target/${TODAY}"/>
这正是我想要的。。。商店。dir属性引用TODAY属性,这样我就可以通过修改一个属性而不是执行每一个jar任务来重新定位我希望包放置的位置
但这似乎不起作用。。。回声会产生这样的结果:
[echo] Making dir : target/${TODAY}
我只是使用了错误的构造吗?如果我将它们分开并放入dir路径/etc中,似乎可以很好地解析属性(应该是这样的)
我的配置的整个相关部分:
<property name="store.dir" value="target/${TODAY}"/>
<target name="init">
<tstamp>
<format property="TODAY" pattern="kk:mm:ss-MM-dd-yyyy" locale="en,US"/>
</tstamp>
<mkdir dir="bin"/>
<mkdir dir="doc"/>
<echo>Making dir : ${store.dir}</echo>
<mkdir dir="${store.dir}"/>
<copy includeemptydirs="false" todir="bin">
<fileset dir="src">
<exclude name="**/*.launch"/>
<exclude name="**/*.java"/>
</fileset>
</copy>
<copy includeemptydirs="false" todir="bin">
<fileset dir="JUnit">
<exclude name="**/*.launch"/>
<exclude name="**/*.java"/>
</fileset>
</copy>
</target>
# 1 楼答案
作品:
输出:
也许目标是要使用属性存储。dir的依赖链中没有init目标
评论后编辑并编辑原始问题
正如fge在他的评论中已经提到的,您的商店财产声明。dir发生在调用无法工作的tstamp任务之前。这样解决: