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. MFC动态创建按钮,并在按钮上实现位图的切换显示

    动态创建按钮,并在按钮中添加位图,通过单击按钮显示不同的位图,可设置为显示按钮按下和弹起两种状态.只要判断a值从而输入不同的响应代码. 1.在头文件中添加: CButton *pBtn; 2.在初始化 ...

  2. 点击类名方法名如何连接到相应的Android源代码

    . 找到Android SDK所在路径 “D:\androidDev\android-sdk-windows\” . 在该目录下选择platforms到 “D:\androidDev\android- ...

  3. HDU_2014——计算平均分

    Problem Description 青年歌手大奖赛中,评委会给参赛选手打分.选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分.   Input 输入数据有多组,每 ...

  4. memory_target not supported on this system

  5. N - Picture - poj 1177(扫描线求周长)

    题意:求周长的,把矩形先进行融合后的周长,包括内周长 分析:刚看的时候感觉会跟棘手,让人无从下手,不过学过扫描线之后相信就很简单了吧(扫描线的模板- -),还是不说了,下面是一精确图,可以拿来调试数据 ...

  6. c语言学习笔记(1)——c语言的特点

    一.c语言概述 1.为什么学习c语言? (1)c的起源和发展 第一代语言:机器语言  1101 第二代语言:汇编语言  add ax,bx; 第三代语言:高级语言  a+b; 结构化:c fortra ...

  7. css(二)

    重新排传智的首页!头部和左边的部分完成了! <!doctype html> <html lang="en"> <head> <meta c ...

  8. iOS单元测试(作用及入门提升)

    由于只是一些简单实用的东西,学学还是挺不错的.其实单元测试用的好,开发起来也会快很多.单元测试对于我目前来说,就是为了方便测试一些功能是否正常运行,还有调试接口是否能正常使用.有时候你可能是为了测试某 ...

  9. jTemplates——学习(1)

    这里介绍一个基于jQuery开发的模板引擎. jTemplates目前最新的版本是0.7.8,由tPython开发.官方网站:http://jtemplates.tpython.com 两个附件, 一 ...

  10. 正则表达式JSP实例

    <%@ page language="java" import="java.util.*,cn.com.Person,cn.com.Adddress" p ...