2012-09-13 18 views
0

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

回答

5

您的怀疑是正确的。将basedir设置更改为查找build.properties文件的位置。改变你的进口到这个:

<property file="build/build.properties"/> 

它应该工作。

0

property file="build/build.properties"/>应该修复它

在这里需要30个字符..达姆