Ant foreach避免空变量

  • 本文关键字:变量 foreach Ant java ant
  • 更新时间 :
  • 英文 :


我在build.xml文件中有以下行:

<foreach list="${clients}" delimiter="," target="clean other hosts" param="client.string"/>

然而,即使${clients}是空的(它可能包含一个换行符,因为它是从文件中读取的),它也会调用目标一次。

有没有一种变通方法,可以防止这种情况发生(调用循环)?

从技术上讲,任务是正确的,因为"".split(",")等于{""}。但是你可以通过用<if>任务包装你的任务来解决这个问题:

未测试:

<if>
 <not><equals arg1="${clients}" arg2="" /></not>
 <then>
   <foreach list="${clients}" delimiter=","
            target="clean other hosts" param="client.string"/>
 </then>
</if>

相关内容

  • 没有找到相关文章

最新更新