Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使Ant中的属性可变_Ant - Fatal编程技术网

如何使Ant中的属性可变

如何使Ant中的属性可变,ant,Ant,我使用ant condition任务检查文件和目录的存在性,下面是我的代码 <project name="makeitmutable" basedir="." default="main"> <target name="main"> <condition property="folderexists?" value="Yeah" else="Nope"> <and> <available fil

我使用ant condition任务检查文件和目录的存在性,下面是我的代码

<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>

删除“folderexistance”文件夹属性folderexists?=${folderexists?}之前
删除“folderexistance”文件夹属性folderexists?=${folderexists?}
我的属性folderexists的输出值?即使在删除目录后仍然保持不变,即…,Nope两次

我知道一旦设置不能更改,ant属性是不可变的,而且这个解决方案的另一个替代方案是我们可以使用

<antcall>

任务并调用主目标


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

正如您所说,属性是不可变的。唯一的其他选择是使用

引用文档:一般来说,不鼓励使用此任务,如果可能的话,应该使用标准Ant属性。话虽如此,但在现实生活中我经常使用此属性

这也说明了很多;-)