2013-05-06 69 views
0

我有问题测试文件存在与蚂蚁。我想检查目标文件是否存在test,如果不存在,我想下载目标文件download。但是download目标将始终执行(如果文件存在或不存在)。任何人都可以显示什么是错的?蚂蚁资源存在检查

<!-- Test lib files if exist --> 
<target name="test"> 
    <condition property="is.resource.exists" value="true" else="false"> 
     <and> 
      <resourceexists> 
       <file file="${lib}/jdom-2.0.5.jar" /> 
      </resourceexists> 
      <resourceexists> 
       <file file="${lib}/miglayout-4.0-swing.jar" /> 
      </resourceexists> 
     </and> 
    </condition> 
</target> 

<!-- Download lib files if not exist --> 
<target name="download" if="is.resource.exists" depends="test"> 
    <exec dir="${lib}" executable="${lib}/get-libs.sh" /> 
</target> 
+1

这是否修复雅http://stackoverflow.com/a/520567/1083581 – happybuddha 2013-05-06 21:30:46

+0

这一个讲述多个文件:http://stackoverflow.com/questions/15698694/check-multiple-file-exists-or- not-using-ant – 2013-05-06 21:35:43

回答

1

<target>if属性如果在if属性属性存在将被执行。同样,如果unless属性中的属性不存在,则将执行具有unless属性的<target>属性。不管物业的价值是什么:真,假,金橘或其他。

unless="is.resource.exists"代替if="is.resource.exists",你应该很好。

+0

请注意,else =“false”也应该从条件中移除,因为它会强制要求定义“is.resource.exists”属性,即使资源不存在也是如此。 'if'和'unless'只检查属性的存在,而不检查它的值。 – Vadzim 2013-10-07 07:17:34