我正在定义一个新的构建文件,并且(出于此问题范围之外的原因)我需要将它放在里面projectRoot/build
,而不是正常的projectRoot
:
MyProject
src/
<Java source>
build/
build.xml
build.properties
所以里面build.xml
:
<project name="myproject-build" basedir="..">
<property file="build.properties"/>
<target name="mkdirs">
<mkdir dir="${gen.dir}"/>
</target>
</project>
在里面build.properties
:
gen.dir=generated
因此,如果我从命令行运行mkdirs
,您会期望它生成以下目录结构:
MyProject
src/
<Java source>
generated/
build/
build.xml
build.properties
但相反,我得到:
MyProject
src/
<Java source>
${gen.dir}
build/
build.xml
build.properties
这是怎么回事?为什么 Ant 不能正确导入build.properties
文件?还是发生了其他事情?我怀疑这与它有关basedir
,但我无法改变构建必须存在于内部的事实build/build.xml
。提前致谢!