如何更改 Ant 中的当前工作目录?
Ant 文档没有任何任务,在<chdir>我看来,最好不要更改当前工作目录。
但是让我们假设我们仍然想这样做——你将如何做到这一点?谢谢!
按照 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,但这似乎没有效果。