如何使Ant中的属性变为可变的

  • 本文关键字:何使 属性 Ant ant
  • 更新时间 :
  • 英文 :


我正在使用ant条件任务来检查文件是否存在和目录是否存在,下面是我的代码

<project name="makeitmutable" basedir="." default="main">
  <target name="main">
     <condition property="folderexists?" value="Yeah" else="Nope">
       <and>
          <available file="folderexistance" type="dir"/>
          <available file="a.zip" type="file"/>
      </and>
     </condition>
     <echo>before deleting "folderexistance" folder  property folderexists?=${folderexists?}</echo>
     <delete dir="folderexistance"/>
     <!--after delete-->
      <condition property="folderexists?" value="Yeah" else="Nope">
       <and>
          <available file="folderexistance" type="dir"/>
          <available file="a.zip" type="file"/>
      </and>
     </condition>
     <!--how to make below line to print Nope ?-->
   <echo>After deleting "folderexistance" folder  property folderexists?=${folderexists?}</echo>
  </target>
</project>

我的属性文件夹的输出值是否存在?即使删除了目录,也保持不变,即两次都没有

我知道蚂蚁的属性是不可变的,一旦集合不能改变,这个解决方案的另一个选择是我们可以使用

<antcall>

任务并调用主要目标。

有没有一种方法可以像上面的场景一样使属性在该目标内可变,我正在寻找其他解决方案,对于这类问题,有什么更好的编程实践。

正如您所说,属性是不可变的。唯一的其他选项是使用ant contrib的var任务。

引用文档:通常,此任务的使用是DISCOURAGED,如果可能的话,应该使用标准的Ant属性话虽如此,在现实生活中我经常使用这个

这也说明了很多;-)

相关内容

  • 没有找到相关文章

最新更新