zoukankan      html  css  js  c++  java
  • 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地址.

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

    转载请注明来源,谢谢
  • 相关阅读:
    LeetCode 1245. Tree Diameter
    LeetCode 1152. Analyze User Website Visit Pattern
    LeetCode 1223. Dice Roll Simulation
    LeetCode 912. Sort an Array
    LeetCode 993. Cousins in Binary Tree
    LeetCode 1047. Remove All Adjacent Duplicates In String
    LeetCode 390. Elimination Game
    LeetCode 1209. Remove All Adjacent Duplicates in String II
    LeetCode 797. All Paths From Source to Target
    LeetCode 1029. Two City Scheduling
  • 原文地址:https://www.cnblogs.com/zhhiyp/p/9416829.html
Copyright © 2011-2022 走看看