ant里面mapper的详细用法

 

ant里面mapper标签是和fileset配合使用的,目的就是把fileset取出的文件名转成指定的样式。其实看懂官方文档后,感觉真心没啥好写的。但是还是写一下把。

1.<mapper type="identity"/>

就是啥都不干。fileset是啥样子,返回就是啥样子。

2.<mapper type="flatten"/>

大概意思是只返回文件名,而去掉路径,比如

D:\and\adt-bundle-windows-x86\sdk\tools\adb_has_moved.txt 这样输出就是 adb_has_moved.txt

3.<mapper type="glob" from="*.java" to="~*.java.bak"/>

大概的意思就是加前缀和后缀

D:\and\adt-bundle-windows-x86\sdk\tools\adb_has_moved.java 这样输出就是 ~D:\and\adt-bundle-windows-x86\sdk\tools\adb_has_moved.java.bak

4.<chainedmapper>

这个标签非常贱,看名字就知道,意思是把多个不同的mapper标签联合起来执行,以达到更全的处理方案。

        <mapper>
<chainedmapper>
<flattenmapper/>
<globmapper from="a*.java" to="*.java.bak" casesensitive="no"/>
</chainedmapper>
</mapper>

假设输入为D:\and\adt-bundle-windows-x86\sdk\tools\adb_has_moved.java,这个时候输出为adb_has_moved.java.bak

注意若是这个里面不写chainedmapper的话,返回的结果包含mapper里面所有的mapper返回结果的和。

因为这个里面把flatten和glob两个标签联合起来用了。

5. <mapper type="regexp" from="^(.*)\.java$$" to="\1.java.bak"/>

这个就是正则表达式了。正则表达式仅仅会抓去出相匹配的字符串,而没有替换功能,注意。

6.<mapper type="package" from="*Test.java" to="*"/>

D:\and\adt-bundle-windows-x86\sdk\tools\adb_has_moved.java  > D.and.adt-bundle-windows-x86.sdk.tools.adb_has_moved

7<cutdirsmapper dirs="5"/>

这个的作用就是把文件目录去掉一部分

D:\and\adt-bundle-windows-x86\sdk\tools\adb_has_moved.java  > \adb_has_moved.java

原文转自:http://www.cnblogs.com/100fighting/p/3171131.html

JAVA_build_ant_mapper的更多相关文章

随机推荐

  1. Kcptun 是一个非常简单和快速的,基于KCP 协议的UDP 隧道,它可以将TCP 流转换为KCP+UDP 流

    本博客曾经发布了通过 Finalspeed 加速 Shadowsocks 的教程,大家普遍反映能达到一个非常不错的速度.Finalspeed 虽好,就是内存占用稍高,不适合服务器内存本来就小的用户:而 ...

  2. Android读取Assert文件夹下txt文本并变为String的方法

    使用场景,在assert文件夹下 有些文本文件,我们需要通过工具类读取出来,然后放到String字符串中,我们该如何操作呢: 直接上代码: 使用方法: MyActivity.readAssertRes ...

  3. JavaScript IDE 大盘点,让选择不再难

      文章来源:http://gcdn.gcpowertools.com.cn/showtopic-24110-1-3.html 阅读本文之前,分享大家一张图片,看图会发现JavaScript开发需求最 ...

  4. HDU-3787(字符串模拟)

    Problem Description 给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开.现在请计算A+B的结果,并以正常形式输出.   Input 输入包含 ...

  5. CF-Approximating a Constant Range

    Description When Xellos was doing a practice course in university, he once had to measure the intens ...

  6. fuel部署openStack

    https://code.launchpad.net/fuel [fuel项目] http://www.imgburn.com/ [各种镜像制作工具]

  7. linux 建库,编码,导入数据

    二.导入数据库1.首先建空数据库mysql>create database abc; 2.导入数据库方法一:(1)选择数据库mysql>use abc;(2)设置数据库编码mysql> ...

  8. iOS- UITableView could not hold the selected row after reload

    I like stackoverflow.. Answer : http://stackoverflow.com/questions/6649202/uitableview-doesnt-keep-r ...

  9. 【微信H5支付】微信公众号里H5网页点击调取微信支付

    最近在公众号里开发了下单支付H5网页,需要在H5里调用微信支付界面.开发思路和代码整理如下: todo...

  10. java byte 16进制转换

    整型转16进制: int devIdInt = Integer.parseInt(devId);String devIdString = Integer.toHexString(devIdInt); ...