Ant中的条件无法正常工作

时间:2016-05-18 06:47:19

标签: jenkins ant

我正在Ant中执行一项测试服务器是否已停止或正在运行的任务,如果服务器已停止,Ant任务将失败并发送电子邮件。问题是我的情况不正常,无论服务器是停止还是正在运行,任务总是顺利进行。

以下是我的条件代码:

<condition property="check" value="true" >
<or>
<equals arg1="${state}" arg2="STOPPED" />
<equals arg1="${state}" arg2="STOPPING" />
</or>
</condition>
<fail if="${check}" message="Server stopped"/>

变量状态可以具有下一个值:STOPPED,STOPPING或STARTED(我之前检查过该值是否正确)。正如我所说的,即使state = STOPPED或state = STOPPING,也从未设置属性检查,因此我的任务总是成功的。

我尝试在equals中使用forcetring和casesensitive,我尝试过:

<fail if="check" message="Server stopped"/>

但条件仍无效。

关于如何解决这个问题并使其发挥作用的任何建议或想法?

感谢。

2 个答案:

答案 0 :(得分:0)

试试这个:

<fail message="Server stopped">
   <condition>
     <or>
       <equals arg1="${state}" arg2="STOPPED" />
       <equals arg1="${state}" arg2="STOPPING" />
     </or>
   </condition>
</fail>

答案 1 :(得分:0)

尝试:

<target name="server_stopped" if="check">
        <fail message="Server stopped"/>
</target>