2012-10-06 52 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:其中命令的输出应存储的属性的名称。除非错误流被重定向到单独的文件或流,否则此属性将包含错误输出。