【问题标题】:Continue executing ant script if one task fails如果一项任务失败,则继续执行 ant 脚本
【发布时间】:2016-10-25 02:00:55
【问题描述】:

我有一个 Ant 脚本,它运行测试然后将我的应用程序部署到 QA 服务器。为了部署应用程序,它首先调用sun-appserv undeploy,由于各种原因,可能会或可能不会部署应用程序。如果应用程序未部署,则取消部署失败并且整个脚本停止。

有什么方法可以让我容忍一个任务失败,记录它,然后让脚本的其余部分运行?

【问题讨论】:

    标签: ant


    【解决方案1】:

    AntContrib 尝试捕获:

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

    exec 任务有一个 failonerror 属性,您可以将其设置为 false 以继续执行。

    【讨论】:

    • 看来 ant-contrib try/catch 对必须包含在 标记中。
    • 我同意并修改了我的答案。
    【解决方案2】:

    我一直在寻找与此类似的东西,并找到了一种替代方法第一个。

    将所有任务包含在线程计数设置为 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
    

    【讨论】:

      【解决方案3】:

      查看-keep-going 选项记录的here

      【讨论】:

        猜你喜欢
        • 2017-01-30
        • 1970-01-01
        • 1970-01-01
        • 2011-06-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-12
        • 1970-01-01
        相关资源
        最近更新 更多