Ant内置任务之typedef

一、概述

        typedef是Ant内置任务,用于将任务或数据类型定义添加到当前project,以便当前project可以使用新的任务或数据类型。任务可以是任何继承org.apache.tools.ant.Task的类或者使用适配类适配为task。数据类型类似path和fileset,可以在project级别定义并且可以通过它们的id属性对其进行引用。自定义数据类型通常需要自定义任务才能很好的使用它们。需要两个属性来定义一个定义:唯一标识此数据类型的名称和实现此类型的类全名。还可以通过file或resource属性来指向java属性文件或xml文件来定义多个数据类型。

二、属性

        name:数据类型的名称。
        classname:实现数据类型的类全名。
        file:加载定义的文件名称。
        resource:加载定义的资源名称。如果在类路径中按此名称找到多个资源,并且format属性为properties,那么只加载第一个资源,否则会加载所有资源。
        format:ant1.6起,文件或资源的格式,值为properties或xml。当file或resource属性值以“.xml”结尾时默认为xml,否则为properties。
        classpath:查找classname的类路径。
        classpathref:查找classname的类路径的引用。
        loaderRef:ant1.5起,由指定的类路径构造的类加载器的名称,使用此属性允许多个任务或类型由相同的加载器加载,以便相互调用。
        onerror:定义类型出错时的处理方法。可选值有fail(导致构建异常)、report(输出警告,但是继续构建)、ignore(忽略)、failall(ant1.6引入,导致所有行为失败,例如当找不到文件或资源时),ant1.7起,默认为fail。
        adapter:ant1.6起,用于将定义的类适配另一个接口(类)的类。适配类必须实现org.apache.tools.ant.TypeAdapter接口。除非定义的类实现(继承)adaptto属性指定的类,否则适配类将用于包装定义的类。如果未设置adaptto属性,则始终包装定义的类。
        adaptto:ant1.6起,此属性与adapter属性联合使用,如果定义的类没有实现(继承)此属性指定的接口(类),适配器类会包装此类。
        uri:ant1.6起,存有定义的uri。

三、简单示例

<project>
	<typedef name="fs" classname="org.apache.tools.ant.types.FileSet" />
	<fs id="files" dir=".." includes="*/*.txt"/>
	<echo>${toString:files}</echo>
</project>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值