我定义一个新的构建文件和(对于这个问题的范围之外的原因),我需要把它里面projectRoot/build
,而不是正常的projectRoot
:Apache Ant是创建离奇目录
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
内部的事实。提前致谢!