1. 程式人生 > >Ant內建任務之available

Ant內建任務之available

一、概述

        available是Ant的內建任務。如果在執行期間一個資源可用,就會設定一個屬性,資源可能是檔案、目錄、classpath中的class或者JVM系統資源。如果資源存在,屬性值預設設為true,否則不會設定屬性。也可以通過設定value屬性將這個值設定為其他值。通常使用這個任務有助於避免target的執行依賴於系統引數。

二、屬性

        property:要設定的屬性名稱,是必需的。

        value:要設定的屬性值,預設為true。

        classname:要在classpath中查詢的類。

        file:要查詢的檔案。

        resource:要在JVM中查詢的資源。

        classpath:在查詢類或資源時使用的類路徑。

        filepath:查詢檔案時使用的路徑。

        classpathref:使用的類路徑,指向一個path的引用。

        type:查詢的file型別,dir或者file,如果不設定,且file屬性中設定的名稱存在,此屬性會被設定為對應的型別。

        ignoresystemclasses:或略ant的執行時類,只使用指定的類路徑。只對classname屬性生效,預設為false。

        searchparents:從Ant1.7開始,如果為true,在查詢一個檔案時,不止會查詢指定的目錄,指定目錄的父目錄也會被查詢。如果設定為false,只查詢指定目錄,預設為false。

        file、resource和classpath三者必須設定一個。

三、簡單示例

<project>
	<available classname="java.lang.Integer"  property="class.present"/>
	<echo>${class.present}</echo>
	<available file="conf" type="dir" property="filepath" value="conf/conf.properties"/>
	<echo>${filepath}</echo>
	<available file="${filepath}" property="conf.properties.present"/>
	<echo>${conf.properties.present}</echo>
</project>