<if>
<bool>
<isgreaterthan arg1="${abc}" arg2="${xyz}"/>
</bool>
</if>
当我运行代码时,它显示错误if doesn't support the nested "bool" element.
如果
答案 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了解更多详情!