2013-05-20 94 views
3

我想通過使用ant腳本來構建基於no版本的項目的幾個項目。 我在build.xml文件中添加了所有taskref標籤,lib路徑中的每一件東西。 我寫了下面這段代碼,我得到的錯誤 foreach不支持嵌套的「antcall」元素。forec中的antcall沒有執行循環

<target name="createApplicationDAA"> 
<foreach param="program"> 
    <path> 
     <fileset dir="${soaProjectName}/Composites" includes="**/*.composite"/> 
    </path> 
    <antcall target="createDAA"/> 
</foreach> 
</target> 
<target name="createDAA"> 
.......... 
.... 
</target> 

清楚, 我的要求是通過使用的foreach或在Ant腳本循環建立的所有複合材料製造所有的DAA。 任何人都可以請讓我知道,我在哪裏做錯了?

回答

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

感謝伊恩,它完美工作......感謝您的支持 – Thiru