使用简单的 ant 属性很棘手,并且不允许轻松设置所需的值(属性是不可变的)。使用 ant-conrib 的 var 任务可以设置和取消设置属性。
使蚂蚁财产以如此复杂的方式工作,背后有什么真正的或充分的理由吗?
<property name="some.ant.prop" value=""/>
<if>
<isset property="some.ant.prop"/>
<then>
<echo message="immutable ant prop - not good, defined and just even set to null string : ${some.ant.prop}"/>
<property name="some.ant.prop" value="no-effect-value"/>
<echo message="no-effect on changing already defined prop : ${some.ant.prop}"/>
<var name="some.ant.prop" unset="true"/>
<property name="some.ant.prop" value="any-value-accepted"/>
<echo message="Overwritten prop value: ${some.ant.prop}"/>
</then>
</if>
不是为了讨论或争论,但很高兴知道更可行的替代方案。谢谢。