<bool>标签</bool>处的其他选项

时间:2011-03-29 13:56:28

标签: ant

<if>
   <bool>
      <isgreaterthan arg1="${abc}" arg2="${xyz}"/>
   </bool>
</if>

当我运行代码时,它显示错误if doesn't support the nested "bool" element. 如果

支持bool的地方还有其他选择吗?

3 个答案:

答案 0 :(得分:5)

该示例适用于antcontrib-1.0b2,但不适用于最新的antcontrib-1.0b3

在更新后遇到类似问题后找到此内容

答案 1 :(得分:1)

您似乎正在尝试使用Antelope if task,因为它(与ant-contrib if不同)支持嵌套的bool元素。但是,错误消息表明任务未正确定义。

检查你的构建文件中是否有Antelope jar和一个合适的taskdef。我用这个:

<taskdef resource="ise/antelope/tasks/antlib.xml"
         classpath="path/to/AntelopeTasks_3.5.1.jar" />

有关任务支持的详细信息,请参阅上面链接的文档。

答案 2 :(得分:1)

Ant Flaka是一个新的Ant插件,它提供了一种创新的表达式语言,使许多脚本部分过时。除此之外,Flaka还提供条件和重复控制结构,例如何时,除非,为,选择,切换.. 你对Flaka的if语句看起来像=

<project xmlns:fl="antlib:it.haefelinger.flaka">

  <property name="digitA" value="42"/>
  <property name="digitB" value="23"/>
  <property name="wordA"  value="abcd"/>
  <property name="wordB"  value="efgh"/>

  <!-- compare of digits -->
  <fl:when test=" '${digitA}' > '${digitB}' ">
    <echo>${digitA} gt ${digitB}</echo>
  </fl:when>

  <!-- example with string compare in switch -->
  <fl:switch value="${wordA}">
    <cmp gt="${wordB}">
      <echo>${wordA} gt ${wordB}</echo>
    </cmp>
    <cmp lt="${wordB}">
    <echo>${wordA} lt ${wordB}</echo>
    </cmp>
  </fl:switch>

</project>

请参阅全面的Flaka Manual了解更多详情!