2011-10-27 122 views
2

我有一個運行測試的Ant腳本,然後將我的應用程序部署到QA服務器。要部署應用程序,它首先調用sun-appserv undeploy,由於各種原因應用程序可能會或可能不會被部署。如果應用程序未部署,則取消部署失敗,整個腳本將暫停。如果一個任務失敗,繼續執行ant腳本

有什麼方法可以容忍一個任務的失敗,記錄它,讓腳本的其餘部分運行?

回答

5

AntContrib嘗試捕捉:

<trycatch> 
<try> 
    <!-- do deployment getting return code --> 
</try> 
<catch> 
    <!-- echo the return code with a message --> 
</catch> 
</trycatch> 

Exec任務有,你可以設置爲false繼續下去一個failonerror屬性。

+1

似乎ant-contrib try/catch對必須包含在標記中。 – Leynos

+0

我同意並修改了我的答案。 –

0

-keep-going選項記錄here

0

我正在尋找類似的東西,並找到了一種替代方法,如果你想運行很多沒有依賴關係的任務,並且想知道是否所有5個任務都失敗了,修復第一個。

附上所有的任務與經緯並行任務設置爲1,這絕對是一個錯誤使用的並行任務,但是完成我的目標:

<parallel threadCount="1"> 
    <fail message="fail 1"/> 
    <fail message="fail 2"/> 
    <echo message="Success"/> 
    <fail message="fail 3"/> 
</parallel> 

在目標運行此給出了這樣的輸出:

test: 
    [echo] Success 

BUILD FAILED 
C:\test\build.xml:5: 
fail 1 
fail 2 
fail 3 

Total time: 0 seconds 
相關問題