Ant:将目录路径放入文件中

时间:2010-09-27 20:55:51

标签: java ant

在ant中,我需要创建一个名为“current_build”的文件,其中唯一的内容(以纯文本格式)是目录的全名:

所以我有这个:

<echo file="${trainer.dir}/current_build">${trainer.dir}</echo>

在我的build.properties中,我有一个相对路径集:

trainer.dir=../trainer

在current_build文件中,我希望它是整个路径......如: c:\ workspace \ project \ trainer

我该怎么做?现在,它只是将 ../ trainer 打印到文件

1 个答案:

答案 0 :(得分:1)

使用location元素/任务的property属性设置属性:这会将值(如果它是相对的)扩展为相对于顶部指定的basedir的完整路径-level project元素:

<project name="test" basedir="." default="test">
  <property name="trainer.dir" location="foo"/>
  <target name="test">
    <mkdir dir="${trainer.dir}"/>
    <echo file="${trainer.dir}/current_build">${trainer.dir}</echo>
  </target>
</project>

如果值来自构建属性文件,请使用另一个属性来捕获其完整路径名:

<project name="test" basedir="." default="test">
  <property file="build.properties"/>
  <property name="trainer.fulldir" location="${trainer.dir}"/>
  <target name="test">
    <mkdir dir="${trainer.fulldir}"/>
    <echo file="${trainer.fulldir}/current_build">${trainer.fulldir}</echo>
  </target>
</project>