2012-10-06 68 views
1

的集結戰部署後停止執行目標我有一個ant腳本,確實在開始時一些檢查,然後編譯代碼,並將其部署到Tomcat服務器。爲構建戰爭部署過程中的腳本是這樣的:Ant腳本目標GWT項目

<target name="build-war-deploy" depends="clean-up,gwtc,check-settings" description="Package GWT app to web archive and deploy to web server"> 
<war basedir="${war.dir}" destfile="${deploy.dir}/${app.name}.war" webxml="${webinf.dir}/web.xml"> 
<!-- <include name="WEB-INF/**" /> --> 
<webinf dir="${webinf.dir}/"> 
<include name="**/*.jar" /> 
</webinf> 
</war> 
</target> 

這個目標工作完全正常,運行Ant腳本中的應用程序確實是部署在Tomcat後的意思。

集結戰爭部署的目標,我需要做一些清理工作過程和後因此我創造了一些其他目標,因此正在被執行後它增加了一個依賴於編譯戰爭部署目標。

<target name="cleanup" depends="build-war-deploy" description="clean up processes"> 
<exec dir="./" executable="python" failonerror="true"> 
    <arg line="deploy_cleanup.py ${app.name}" /> 
</exec> 
</target> 

但是,在ant腳本執行構建戰爭部署目標之後,它停止並說構建成功。有誰知道爲什麼它沒有執行最後的目標?

build-war-deploy: 
     [war] Building war: C:\Apache Tomcat\apache-tomcat-6.0.33\webapps\test.war 
BUILD SUCCESSFUL 
Total time: 2 minutes 22 seconds 
+0

你在命令行上指定目標和/或你有一個默認的目標在構建文件中設置? –

+0

所有目標都在構建文件中指定。 – mkn

+0

嘗試運行「ANT清理」。我懷疑默認的目標是「打造戰爭部署」 –

回答

1

我會嘗試使用outputproperty。也許蟒蛇文件執行 - 而不是做你想要什麼,但執行並返回其結果你永遠看不到。我的意思是如果python腳本返回一條錯誤消息,是不是認爲執行成功?

是這樣的:

<exec dir="./" executable="python" outputproperty="outProp" failonerror="true"> 
    <arg line="deploy_cleanup.py ${app.name}" /> 
</exec> 
<echo>${outProp}</echo> 

outputproperty:其中命令的輸出應存儲的屬性的名稱。除非錯誤流被重定向到單獨的文件或流,否則此屬性將包含錯誤輸出。