Ant内置任务之available

赵雅懿
2023-12-01

一、概述

        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>


 类似资料: