Phinehasz Zhi

超越你看到的

ant插件 ant自定义task 入门 开发 笔记

今天开发ant插件.ant插件的核心是继承Task类.一开始找到的资源很少,也是不了解ant的缘故..先是学习了下build.xml的基本配置.

首先就是project节点,这个是核心,通过baseDir指定要操作的文件夹路径.

然后每个任务在target里配置,可以设置互相依赖.

所以才真正明白,其实开发ant插件是自定义task,更确切的说,是以java形式实现特定功能的task.

整体开发过程就是:

1.继承task类,实现业务逻辑

2.在build.xml里以targetdef节点配置,网上大把的资源可以找.然后就可以cmd里输入ant [指定对应的target名字] 就能执行了.

遇到的困难和心得理解:

1.继承task类,其实这个类就是在你的ant_home的lib下的ant.jar包里.我直接把这个反编译了,从源码上分析,Task父类有一个是project对象,这个对象应该就是对应build.xml里的project大节点.

因为这个对象可以getBaseDir等信息.

2.继承后,按网上的小demo去做,在execute里写一个log,结果没打印.后来模仿别人的,写一个private String name成员,再提供set方法,再测试,莫名其妙就在cmd看到输出了.

这个还是蛮奇怪的,暂时未解决这个问题.

3.执行方法:网上的都是配置,其实关键是这个def下的class属性如何配置,

一共是配置两个方面,一个是classname,具体到包名的类名.另一个classpath是配置这个根路径了.

所以可以把插件打成jar,然后配置这个jar包绝对路径.建议是放到ant_home的lib下,这样在不同环境都能不改代码使用. %ANT_HOME%可以获得ant_home地址.

 

网上资源还是很多的,做小小今日心得.

posted @ 2018-08-03 23:14  phinehasz  阅读(852)  评论(0编辑  收藏  举报