2015-05-14 139 views
0

我想在並行執行中運行我的ant,即build.xml文件以及正在執行的任務。 我正在使用Exec任務來實現此目的。即我正在使用ant在Exec任務中運行build.xml文件,但遇到以下錯誤: 錯誤:exec不支持嵌套的「ant」元素。在exec任務中執行ant文件

我的代碼的摘錄:

<if> 
    <istrue value="${parallel.exec}" /> 
    <then> 

     <!-- Parallel execution of task --> 
     <mkdir dir="${buildroot.dir}/product/${build-log.dir}" /> 
     <exec dir="../../apollo" executable="/bin/sh" spawn="true"> 
      <ant antfile="${buildroot.dir}/product/abs-build.xml" /> 
     </exec> 
    </then> 

回答

0

你可以嘗試創建一個目標這樣

<target name="antcaller"> 
<ant antfile="yourantfile" target="do something" /> 
... 

,然後可以調用它

+0

如何生病EXEC內執行該Ant文件?我的代碼的這一部分已經在目標中 – user3616128

1

我們,<exec>根本不支持任意任務作爲嵌套元素,只是手冊頁l派。

爲了運行Ant你會使用類似

<exec dir="../../apollo" executable="/bin/sh" spawn="true"> 
    <arg value="${ant.home}/bin/ant"/> 
    <arg value="-f"/> 
    <arg file="${buildroot.dir}/product/abs-build.xml" /> 
</exec> 
+0

由於arg不支持「location」屬性,所以出現錯誤 – user3616128

+0

嘗試使用'代替:http://ant.apache。 org/manual/using.html#arg –

+0

是的,對,應該是「文件」,我會編輯答案。 –

相關問題