Ant内置任务之projecthelper

一、概述

        projecthelper是Ant1.8.2引入的任务,用于在运行时安装不同的projecthelper。这些helper会在所有已注册的helper之后,默认的helper之前添加。projecthelper是Ant用来分析构建文件并创建表示构建工作流的实例,并且指示可以解析哪种文件,以及默认输入文件的文件名。比如Ant默认的projecthelper(org.apache.tools.ant.helper.ProjectHelper2)默认的输入文件为build.xml。

        Ant启动时按以下顺序查找org.apache.tools.ant.ProjectHelper的实现,
                1.由系统属性org.apache.tools.ant.ProjectHelper指定的类,此类必须继承org.apache.tools.ant.ProjectHelper。
                2.在类路径中搜索META-INF/services/org.apache.tools.ant.ProjectHelper,此文件仅包含ProjectHelper的实现实例的完全限定名。
                3.添加默认的ProjectHelper , 可以分析经典的build.xml文件。

        当解析一个文件时,会遍历ProjectHelper实现的列表,并选择返回“true”到supportsBuildFile(File buildFile)的第一个实现。

        实现org.apache.tools.ant.ProjectHelper类,至少要实现其parse(Project project, Object source)方法,Ant会调用实现类的无参构造方法进行实例化。还有其他一些有用的方法:
        getDefaultBuildFile(): 定义如果未提供任何文件名则默认使用哪个文件
        supportsBuildFile(File buildFile): 定义解析器可以解析的输入文件
        canParseAntlibDescriptor(URL url): 定义实现是否能够解析给定的Antlib描述符,基类返回false。
        parseAntlibDescriptor(Project containingProject, URL source):如果canParseAntlibDescriptor(URL url)返回true,解析Antlib描述符时实际调用的方法。

二、属性

        可以嵌套许多已配置的org.apache.tools.ant.ProjectHelper实例做为嵌套元素。

三、简单示例

<project>
	<typedef classname="org.example.MyProjectHelper" name="myprojecthelper"/>
	<projecthelper>
		<myprojecthelper/>
	</projecthelper>
</project>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值