Ant 脚本在 gwt 项目的目标构建-战争-部署后停止执行目标



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

<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 Tomcatapache-tomcat-6.0.33webappstest.war
BUILD SUCCESSFUL
Total time: 2 minutes 22 seconds

我会尝试使用输出属性。 也许 python 文件正在执行 - 不是做你想要的,而是执行并返回你从未看到的结果。 我的意思是,如果 python 脚本返回错误消息,难道 ant 不认为这是成功执行吗?

像这样:

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

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

最新更新