Ant 蚂蚁<;chdir>;任务

Ant 蚂蚁<;chdir>;任务,ant,ant-contrib,Ant,Ant Contrib,如何更改Ant中的当前工作目录 没有任务,在我看来,最好不要更改当前工作目录 但让我们假设我们仍然想这样做——你将如何做到这一点?谢谢 根据马克·奥康纳在问题评论中的暗示,我想出了以下解决方案: <project name="cwd" default="parent"> <target name="parent"> <echo message="Current working directory in parent: ${basedir}"

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

没有
任务,在我看来,最好不要更改当前工作目录


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

根据马克·奥康纳在问题评论中的暗示,我想出了以下解决方案:

<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>

我还尝试使用的
任务更改
basedir
,但似乎没有效果。

只有
basedir
(请参阅)。一旦为构建设置了它,您就无法更改它。也许可以解释一下你想做什么?几个ANT任务有一个dir属性,用于设置应该在其中执行特定操作的目录。@martinclayton我正在尝试更改当前的工作目录。我的本地化个人小问题将以这样或那样的方式得到解决——但问题仍然存在:是否有一些技巧可以用来更改当前工作目录?我应该在我的第一条评论前面加上“Ant不知道当前工作目录,您可以在构建中期进行更改。”但您可以“重新输入”(即自调用Ant)如果您愿意,可以使用不同的目录。正如Mark提到的,有很多任务可以配置为在指定目录中运行。
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