我有一个ANT构建文件,其中包含以下行:

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


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

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


但这没有用,请您帮忙。

亲切的问候
m

最佳答案

您的equals条件语法错误,它将像这样工作:

  <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.1 see this answer for details中的错误,您应该使用Ant 1.9.3。

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

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

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

</project>

07-25 23:44