3

我要做的就是在父 build.xml 上设置对路径的引用,并在子 build.xml 上使用它(用 调用<ant>)。这是我可以创建的最简单的示例:

构建-parent.xml

<?xml version="1.0"?>
<project name="parent" default="do-parent">
    <target name="do-parent">
        <path id="inherited.path"/>
        <ant antfile="build-child.xml" inheritrefs="false" inheritall="false">
            <reference refid="inherited.path"/>
        </ant>
    </target>
</project>

构建-child.xml

<?xml version="1.0"?>
<project name="child" default="do-child">
    <pathconvert property="converted.path" refid="inherited.path"/>
    <target name="do-child"/>
</project>

我运行ant.bat -f build-parent.xml 并得到:未找到引用继承的路径。

如果我将build-child.xml更改为:

<?xml version="1.0"?>
<project name="child" default="do-child">
    <target name="do-child">
        <pathconvert property="converted.path" refid="inherited.path"/>
    </target>
</project>

它工作正常...

显然我可以通过多种方式解决这个问题,但我想以正确的方式做到这一点。我究竟做错了什么?

4

1 回答 1

2

以前遇到过这种行为:

将参考从主构建文件传递给子

我找不到任何暗示这种行为是否是设计使然的东西。

于 2013-04-02T22:48:01.040 回答