Java 在ant中定义可用于for循环的变量列表

Java 在ant中定义可用于for循环的变量列表,java,for-loop,ant,Java,For Loop,Ant,我正在为一个有几个依赖项的项目编写一个ant构建文件。我需要编写一个单独的文件,其中包含所有项目通用的目标,然后在它们自己的构建文件中编写特定于项目的内容。例如,我有一个名为“cleanDependencies”的目标 正在清理依赖项。。。 )但答案并没有给出一种在for循环之外定义列表的方法 2) 有没有其他方法可以实现这一点?i、 e.在一个单独的文件中收集公共目标,然后将其包含在具有适当变量的项目特定构建文件中的一种方法。Ant中没有列表元素或任务。可以使用包含以逗号分隔的依赖项的属性。

我正在为一个有几个依赖项的项目编写一个ant构建文件。我需要编写一个单独的文件,其中包含所有项目通用的目标,然后在它们自己的构建文件中编写特定于项目的内容。例如,我有一个名为“cleanDependencies”的目标


正在清理依赖项。。。
)但答案并没有给出一种在for循环之外定义列表的方法


2) 有没有其他方法可以实现这一点?i、 e.在一个单独的文件中收集公共目标,然后将其包含在具有适当变量的项目特定构建文件中的一种方法。

Ant中没有
列表
元素或任务。可以使用包含以逗号分隔的依赖项的属性。公共目标已经依赖于一个
listOfDependencies
属性,所以您需要做的就是从调用目标传递该属性。应该简单到:

<!-- calling buildfile -->
<property name="listOfDependencies" value="dep1,dep2" />
<ant antfile="common/build.xml" target="cleanDependencies" />

任务,该任务可用于包含公共构建文件并调用它,就像其目标在主构建文件中定义一样。

任务“for”不是标准ant的一部分,这可能会解释一些问题。对于依赖关系管理,我建议您看看ApacheIvy。
<target name="cleanDependencies">
    <echo>Cleaning dependencies... </echo>
    <for list="${listOfDependencies}" param="dependency">
          <sequential>
                <ant dir="dep/@{dependency}" target="clean" inheritAll="false" />
          </sequential>
    </for>      
</target>
<list name="listOfDependencies"> <!-- Not a valid tag in Ant -->
    <item>dep1</item>
    <item>dep2</item>
</list>
<!-- calling buildfile -->
<property name="listOfDependencies" value="dep1,dep2" />
<ant antfile="common/build.xml" target="cleanDependencies" />