在gwt项目的目标build-war-deploy之后,Ant脚本停止执行目标

时间:2012-10-06 10:03:13

标签: gwt ant

我有一个ant脚本,它在开始时执行一些检查,然后编译代码并将其部署到tomcat服务器。 build-war-deploy过程的脚本如下所示:

<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上。

在build-war-deploy目标之后,我需要做一些清理过程,因此我创建了一些其他目标,并为build-war-deploy目标添加了一个依赖项,以便之后执行它。

<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目标后,它会停止并表示构建成功。有谁知道为什么它没有执行最后一个目标?

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

1 个答案:

答案 0 :(得分:1)

我会尝试使用outputproperty。也许python文件正在执行 - 没有做你想要的,而是执行并返回你从未见过的结果。我的意思是如果python脚本返回一条错误消息,是不是会将其视为成功执行?

类似的东西:

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

outputproperty:应存储命令输出的属性的名称。除非将错误流重定向到单独的文件或流,否则此属性将包含错误输出。

相关问题