Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ant中的循环目录结构_Ant_Configuration_Ant Contrib - Fatal编程技术网

ant中的循环目录结构

ant中的循环目录结构,ant,configuration,ant-contrib,Ant,Configuration,Ant Contrib,我们希望在ant中循环遍历目录结构,而不使用foreach。 有什么优雅的方法可以做到这一点吗?可以迭代一组目录或文件 <target name="run-apply"> <apply executable="echo"> <dirset dir="src"/> </apply> </target> project.references.dirs.each{ 蚂蚁,回应一下 } 任务jar的安装

我们希望在ant中循环遍历目录结构,而不使用foreach。 有什么优雅的方法可以做到这一点吗?

可以迭代一组目录或文件

<target name="run-apply">
    <apply executable="echo">
        <dirset dir="src"/>
    </apply>
</target>


project.references.dirs.each{
蚂蚁,回应一下
}
任务jar的安装很容易实现自动化:

<target name="install-groovy">
  <mkdir dir="${user.home}/.ant/lib"/>
  <get dest="${user.home}/.ant/lib/groovy-all.jar" src="http://search.maven.org/remotecontent?filepath=org/codehaus/groovy/groovy-all/2.1.1/groovy-all-2.1.1.jar"/>
</target>

最后,如果要遍历其他生成文件,该任务非常有用:

<target name="run-subant">
    <subant>
        <fileset dir="src" includes="**/build.xml"/>
    </subant>
</target>

可以迭代一组目录或文件

<target name="run-apply">
    <apply executable="echo">
        <dirset dir="src"/>
    </apply>
</target>


project.references.dirs.each{
蚂蚁,回应一下
}
任务jar的安装很容易实现自动化:

<target name="install-groovy">
  <mkdir dir="${user.home}/.ant/lib"/>
  <get dest="${user.home}/.ant/lib/groovy-all.jar" src="http://search.maven.org/remotecontent?filepath=org/codehaus/groovy/groovy-all/2.1.1/groovy-all-2.1.1.jar"/>
</target>

最后,如果要遍历其他生成文件,该任务非常有用:

<target name="run-subant">
    <subant>
        <fileset dir="src" includes="**/build.xml"/>
    </subant>
</target>


简短回答:不太可能。有很多方法可以解决这个问题,但是为了清晰和简单,我更喜欢ant contrib
任务。使用
任务,您现在可以本地化变量的值。以前,您有时必须使用ant contrib的
任务来重置值,这样您就可以一遍又一遍地循环这些值

<for param="directory">
    <fileset dir="${some.dir}"/>
    <sequential>
        <local name="foo"/>
        <local name="bar"/>  <!-- Properties that may change with each iteration -->
        <!-- Here be dragons -->
    </sequential>
</for>

现在,当有人签出我的项目时,他们已经安装了ant-contrib(因为它在我的项目中)并且可以访问(因为我将我的
任务指向我项目中ant-contrib.jar的位置)。有很多方法可以解决这个问题,但是为了清晰和简单,我更喜欢ant contrib
任务。使用
任务,您现在可以本地化变量的值。以前,您有时必须使用ant contrib的
任务来重置值,这样您就可以一遍又一遍地循环这些值

<for param="directory">
    <fileset dir="${some.dir}"/>
    <sequential>
        <local name="foo"/>
        <local name="bar"/>  <!-- Properties that may change with each iteration -->
        <!-- Here be dragons -->
    </sequential>
</for>

现在,当有人签出我的项目时,他们已经安装了ant-contrib(因为它在我的项目中)并且可以访问(因为我将我的
任务指向我的项目中ant-contrib.jar的位置)。

您打算如何处理目录结构?如果您正在做一些事情,比如在每个目录中构建一个ant项目,那么您可能能够通过目录结构获得所需的功能?如果您正在每个目录中构建一个ant项目,那么您可能能够获得所需的功能,apply对我来说不起作用,因为我不想为每个目录启动一个新流程element@ConstantinoCronemberger好的groovy任务是更有效的循环机制。事实上,我使用的是maven antrun插件,在这里,我将查看groovy-maven-plugin.apply对我不起作用,因为我不想为每个应用程序启动新的进程element@ConstantinoCronemberger好的groovy任务是更有效的循环机制。事实上,我使用的是maven antrun插件,在这篇文章中,我将看看groovy maven插件。需要包装在元素中需要包装在元素中