如果属性不为空,如何使ant构建失败

时间:2014-02-10 16:47:02

标签: ant

我有一个ANT构建文件,其中包含行 -

<java classname="arq.sparql" fork="true" outputproperty="javaresult" errorproperty="javaerror">

现在我想添加条件以使属性'javaerror'的构建失败不是空的。 所以我的条件写得像这样:

<fail message="${javaerror}">
 <condition>
  <not>
   <equals javaerror=""/>
  </not>
</condition>
</fail>

但这不起作用,请你帮忙。

亲切的问候 索姆

2 个答案:

答案 0 :(得分:4)

您的等于条件的语法错误,它的工作方式如下:

  <fail message="${javaerror}">
   <condition>
    <not>
     <equals arg1="${javaerror}" arg2=""/>
    </not>
  </condition>
  </fail>

有关详情,请参阅Ant manual conditions - 编辑 -
或者你可以使用new if/unless feature introduced with Ant 1.9.1,但是你应该使用Ant 1.9.3,因为Ant 1.9.1中存在错误see this answer for details

<project xmlns:if="ant:if" xmlns:unless="ant:unless">

 <property name="javaerror" value="whatever"/>

 <fail message="${javaerror}" unless:blank="${javaerror}"/>

</project>

答案 1 :(得分:3)

您正在寻找

<fail message="failed" if="javaerror"/>

Fail ant task doc