2013-05-06 67 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