如何使用Ant检查属性是否存在?
如果Ant没有提供类似的东西,我愿意使用ant-contrib
。
此外,ant-contrib
有一个断言任务,它提供exists
,但断言不是我需要的,因为我更喜欢布尔返回值。
答案 0 :(得分:52)
<project default="test">
<property name="a" value="a"/>
<target name="test">
<condition property="a.set" else="false">
<isset property="a"/>
</condition>
<condition property="b.set" else="false">
<isset property="b"/>
</condition>
<echo message="a set ? ${a.set}"/>
<echo message="b set ? ${b.set}"/>
</target>
</project>
输出:
test:
[echo] a set ? true
[echo] b set ? false
答案 1 :(得分:11)
自Ant 1.9.1以来,可以使用&#34;如果&#34;和&#34;除非&#34;属性。如果添加2个命名空间xmlns,则可以使用这些新属性:if =&#34; ant:if&#34;和xmlns:除非=&#34; ant:除非&#34;到项目。
<!DOCTYPE project>
<project xmlns:if="ant:if" xmlns:unless="ant:unless">
<property unless:set="property" name="property.is.set" value="false"/>
<property if:set="property" name="property.is.set" value="true"/>
<echo>${property.is.set}</echo>
</project>