4

如何更改 Ant 中的当前工作目录?

Ant 文档没有任何任务,在<chdir>我看来,最好不要更改当前工作目录。

但是让我们假设我们仍然想这样做——你将如何做到这一点?谢谢!

4

1 回答 1

4

按照 Mark O'Connor 在问题评论中的提示,我想出了以下解决方案:

<project name="cwd" default="parent">
    <target name="parent">
        <echo message="Current working directory in parent: ${basedir}" />
        <ant antfile="../build.xml" dir="subdir" target="subDirTarget"
            inheritAll="true" inheritRefs="true" /> 
    </target>

    <target name="subDirTarget">
        <echo message="Current working directory in subDirTarget: ${basedir}" />
    </target>
</project>

这有效 - 输出:

Buildfile: C:\Sandbox\parent\build.xml
parent:
     [echo] Current working directory in parent: E:\Sandbox\parent
subDirTarget:
     [echo] Current working directory in subDirTarget: E:\Sandbox\parent\subdir
BUILD SUCCESSFUL
Total time: 1 second

我也尝试使用Ant-Contrib<var>task to change basedir,但这似乎没有效果。

于 2013-07-03T11:32:16.657 回答