java - 根据条件运行 arg
问题描述
我想<arg>
根据条件运行特定标签。我的 ANT 版本也是 1.8.2,所以我不能使用 if 和 unless。
我有几个<arg>
's,<exec>
我只希望某些<arg>
's 在满足某些条件时运行,在我的情况下,如果我的 ${host.NAME} 等于指定的服务器。
例如
<condition property="validHost" value="${dynamicValue}"> (except not dynamic, the first value is repeated for all instances)
<or>
<equals arg1="${host.NAME}" arg2="example" />
<equals arg1="${host.NAME}" arg2="example" />
</or>
</condition>
<exec...>
<arg line="always runs"/> (Always runs)
<arg line="${validHost}"/> (Only runs if validHost condition true)
</exec>
问题是当我在<condition value="${dynamicValue}">
标签内放置一个动态值时,它会将每次迭代设置为第一个值,而不是动态更改它。例如这些值:
value1=你好 value2=世界
将导致
arg1=你好 arg2=你好
当我回显动态值本身发生变化时,我假设<condition>
标签不是动态调用的,而是不可变的。除了更新还有什么办法可以解决这个问题吗?