首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

替Ant开发扩展任务

2012-10-25 
为Ant开发扩展任务原文:http://lujar.iteye.com/blog/154490关于Ant的调试:如何在eclipse中调试自定义的an

为Ant开发扩展任务
原文:http://lujar.iteye.com/blog/154490
关于Ant的调试:
如何在eclipse中调试自定义的ant task http://blog.csdn.net/onlyerlee/article/details/2260063
创建并调试自定义的Ant Task:http://blog.csdn.net/caesarzou/article/details/5672415
第二篇调试文章,会说出第一篇文章的不足,并提供更好的方式。

ant学习笔记—自定义Ant任务:http://blog.csdn.net/jackkp_catus/article/details/2295612



两种方式

为Ant实现扩展任务其实是非常容易的,只需按照以下几个步骤即可:

1. 创建一个Java类继承org.apache.tools.ant.Task类;

2. 对每个属性实现set方法。Ant会根据需要自动完成类型转换;

3. 如果扩展的任务需要嵌套其它的Task,那么这个Java类必需实现接口org.apache.tools.ant.TaskContainer;

4. 如果扩展的任务要支持Text,需要增加一个方法void addText(String);

5. 对每个嵌套的元素,实现create、add 或 addConfigured 方法;

6. 实现public void execute方法;

7. 在build.xml文件中使用 <taskdef> 来引用自定义的Task。

下面以一个简单的例子来说明如何为Ant增加一个hello任务,它可以连续打印多条信息,打印的次数由属性count指定,而打印的内容则由它内嵌的一个helloinfo任务的message属性指定,看上去这非常类似JSP中自定义标签的一些概念,实现代码如下:

//HelloInfoTask.java





另一种方式:http://blog.csdn.net/wangjun_pfc/article/details/4425495
不同的是把taskdef定义在target的外部

<target name="生成Hibernate配置文件">       <xdoclet>           <fileset dir="${src.dir}/com/bjsxt/oa/model">              <include name="**/*.java"/>           </fileset>                  <component              classname="org.xdoclet.plugin.hibernate.HibernateConfigPlugin"              destdir="${src.dir}"              version="3.0"              hbm2ddlauto="update"              jdbcurl="jdbc:mysql://127.0.0.1/oa_200706"              jdbcdriver="com.mysql.jdbc.Driver"              jdbcusername="root"              jdbcpassword="mysql"              dialect="org.hibernate.dialect.MySQLDialect"              showsql="true"           />       </xdoclet>    </target>

热点排行