ant学习笔记—自定义Ant任务

作为现在Java构建工具中事实上的标准,Ant被设计成可以通过Java类进行扩展,而且只需要很少的Java代码,就可以编写一个新的Ant任务。

其实编写一个 Ant任务非常简单,只需要编写一个带有一个execute()方法的Java类就行了。

 

       Package  org.cactus.ant.tasks

       Public  class  SimpleTask{

              Public  void  execute(){

       System.out.println(“Simple  Task!”);

}

}

 

这个Java不需要扩展任何基类,只需要一个方法就行:execute( )。但这个方法必须是公有的(public),没有参数,而这个类必须能通过无参的构造函数实例化。这个方法可以有返回值,但是会被忽略并且产生一个警告信息。任务在执行过程中可以有System.outSystem.err的输出,但是会被Ant截获并按照适当的日志级别写入相应的日志。

<taskdef>标签用于自定义一些任务,从而将第三方的任务集成到构建文件中。你可以在目标(<target>)之外声明<typedef>,以便把这些任务定义成全局任务。不过任务的类文件必须位于其可见的classpath内。为了可以在同一个构建过程中使用编译过的任务,<taskdef>必须出现在编译之后

 

<?xml  version=” 1.0” ?>

<project  name=”tasks”  default=”main”>

       <property  name=”build.dir”  location=”build”/>

       <target  name=”init”>

              <mkdir  dir=”${build.dir}”>

       </target>

       <target  name=”compile”  depends=”init”>

              <javac  srcdir=”src”  destdir=”${build.dir}”/>

       </target>

       <target  name=”simpletask”  depends=”compile”>

              <taskdef  name=”simpletask”

  classname=”org.example.antbook.tasks.SimpleTask” classpath=”${build.dir}”>

                     <simpletask/>

</target>

<target  name=”clean”>

       <delete  dir=”${build.dir}”>

</target>

<target  name=”main”  depends=”simpletask”/>

       </project>

 

1.1   任务的生命周期

下面是Ant任务的生命周期,构建过程从装载Ant和解析构建文件开始:

l         Ant 解析构建文件时,对文件中声明的每个任务,通过不带参数的构造函数建立一个恰当的Task的子类的实例。

l

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值