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地址.
网上资源还是很多的,做小小今日心得.