我想通过使用ant脚本基于.composites来构建几个项目。 我在build.xml文件中添加了所有的taskref标签,lib路径。 我为此写了下面的代码,我收到了错误 foreach不支持嵌套的“antcall”元素。
<target name="createApplicationDAA">
<foreach param="program">
<path>
<fileset dir="${soaProjectName}/Composites" includes="**/*.composite"/>
</path>
<antcall target="createDAA"/>
</foreach>
</target>
<target name="createDAA">
..........
....
</target>
显然, 我的要求是通过在ant脚本中使用foreach或for循环构建所有组合来创建所有DAA。 任何人都可以告诉我,我在哪里做错了?
答案 0 :(得分:4)
foreach
不使用嵌套元素来确定要运行的内容,它需要target
属性:
<target name="createApplicationDAA">
<foreach param="program" target="createDAA">
<path>
<fileset dir="${soaProjectName}/Composites" includes="**/*.composite"/>
</path>
</foreach>
</target>
<target name="createDAA">
<echo>${program}</echo>
</target>
或者,使用<for>
,它采用嵌套的<sequential>
<target name="createApplicationDAA">
<for param="program">
<path>
<fileset dir="${soaProjectName}/Composites" includes="**/*.composite"/>
</path>
<sequential>
<echo>@{program}</echo>
</sequential>
</for>
</target>