0

我正在定义一个新的构建文件,并且(出于此问题范围之外的原因)我需要将它放在里面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。提前致谢!

4

2 回答 2

5

你的怀疑是正确的。设置basedir更改它正在寻找build.properties文件的位置。将您的导入更改为:

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

它应该工作。

于 2012-09-13T15:54:08.610 回答
0

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

这里需要 30 个字符.. damm

于 2012-09-13T15:54:23.103 回答