`
weigang.gao
  • 浏览: 491143 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

映射器 (5.1)

 
阅读更多

映射器类型。映射器实现了文件重命名算法,告诉像<copy>等任务在文件重命名时如何进行操作

类型

描述

identity(是<copy>和<move>的默认映射器)

目标文件和源文件名称一致,并且目录结构一致

flatten

 

将源文件名映射到目标文件名时会移除所有的目录信息,即目标文件名中不会包含源文件名中的目录信息

Glob

 Glob映射器非常有用,它可以完成简单的文件重命名操作。将将源文件名映射到目标文件名时会保留所有的目录信息

Regexp

regexp映射器在它的from属性中采用一个正则表达式。匹配这个模式的源文件可以被映射到目标文件。将将源文件名映射到目标文件名时会保留所有的目录信息。

Package

 

它的功能与glob类似,不同之处在于它将分隔符用点位符(.)替换,这样可以将一个分层结构的包目录文件映射为扁平目录结构,而其包结构被保存在文件名中,即将将源文件名映射到目标文件名时不会保留所有的目录信息,而是将目录信息保存到文件名中

unpackage

与package相反的映射器,它可以把文件名中的句点转换为目录分隔符

Merge

 

Composite

 

Chained

 

<target name="copythree" depends="init">

            <copy todir="dist/source">

                     <fileset dir="src" includes="**/*.java" />

                     <chainedmapper>

                             <flattenmapper />         

                           <globmapper from="*.java" to="*.txt" />   

          </chainedmapper>                        

            </copy>

   </target>

该target:1.通过<flattenmapper>将源文件复制到一个扁平化的目录中。

2.然后再用<globmapper>将文件的后缀改为.txt

说明:1.第一个映射器是identity映射器,它是<copy>和<move>任务的默认映射器。当任务需要一个映射器,又不用对文件名进行任何变换时,可以使用它:<identitymapper>。

 

简单实例:

<?xml version="1.0"?>
<project name="fivebuild" >
   <target name="init">
      <mkdir dir="dist" />
   </target>
   <target name="clean" >
      <delete dir="dist" />
   </target>
   <!--将源文件lib中的jar拷贝到dist目录中,并重命名jar-->
   <target name="copy" >
	   <copy todir="dist" >
		  <fileset dir="lib" includes="**/*.jar" />
		  <globmapper from="*.jar" to="*.jar.bak" /><!--jar包的后缀改为bak-->
	   </copy>
   </target>
    <target name="copythree" depends="init">
	   <copy todir="dist/source">
		  <fileset dir="src" includes="**/*.java" />
		  <chainedmapper>
			 <flattenmapper />	 
		  	 <globmapper from="*.java" to="*.txt" />	
          </chainedmapper>			 
	   </copy>
   </target>
</project>

 

分享到:
评论

相关推荐

    5.1KX驱动声卡效果包

    这个5.1KX驱动效果包内含150至200个不同的效果,意味着用户可以享受到各种各样的声音优化设置,包括但不限于混响、均衡器、环绕声模拟、动态范围控制等,涵盖了音乐播放、游戏、电影等多种应用场景。 在压缩包内的...

    TP5.1最新源码(可打包下载)

    1. **路由系统**:ThinkPHP 5.1引入了强大的路由规则,允许开发者定义URL与控制器方法的映射,简化URL设计,提高可维护性。 2. **MVC模式**:Model-View-Controller架构模式是ThinkPHP的核心,它将业务逻辑、数据和...

    thinkPHP5.1开发手册

    3. **模型层**:模型层是MVC架构的重要组成部分,ThinkPHP5.1提供了强大的ORM(对象关系映射)机制,使得开发者可以方便地操作数据库,支持链式操作,同时支持数据库事务处理和预编译SQL语句,提高数据操作的安全性...

    thinkphp5.1cms后台

    ThinkPHP5.1的路由系统允许开发者自定义URL模式,实现URL与控制器方法的灵活映射。在CMS后台,路由规则可以设计为简洁且有意义的格式,如`/admin/user/login`代表后台用户的登录接口。 五、控制器与视图 控制器是...

    Android5.1夜神模拟器

    Android 5.1带来了多项改进,包括设备管理器增强、更好的多任务处理以及设备间配对优化,这些特性在夜神模拟器中得以保留,使得用户可以享受到原汁原味的Android体验。 模拟器的核心是其内核技术,夜神模拟器采用了...

    tp5.1 不用分可下载

    在ThinkPHP5.1中,路由是核心特性之一,它允许开发者定义URL与控制器方法之间的映射,实现灵活的URL设计。另外,模型-视图-控制器(MVC)设计模式贯穿整个框架,使得代码结构清晰,易于维护。 数据库操作在ThinkPHP...

    thinkphp5.1完整版

    5. 数据库操作:提供强大的数据库操作支持,包括ORM(对象关系映射),支持多种数据库类型,并支持事务处理。 6. 错误和日志:完善的错误处理机制,以及灵活的日志记录,帮助开发者追踪和调试问题。 二、ThinkPHP...

    thinkphp5.1商城后台+前台

    1. 数据库模型:ThinkPHP5.1 支持ORM(对象关系映射),通过模型类操作数据库,简化SQL语句编写。 2. 数据库迁移:使用TP5.1的命令行工具可以进行数据库结构的迁移,方便在不同环境中部署。 五、安全性与优化 1. ...

    ThinkPHP5.1完全开发手册-08191054.pdf

    ThinkPHP5.1还提供了多语言、分页、上传、杂项、命令行启动、内置服务器、查看版本、自动生成目录结构、创建类库文件、生成类库映射文件、清除缓存文件、生成配置缓存文件、生成数据表字段缓存、生成路由映射缓存...

    laravel5.1打包版

    1. **Eloquent ORM**: Eloquent 是 Laravel 的默认对象关系映射(ORM),它提供了简洁的语法来操作数据库,使得数据库交互变得简单而直观。 2. **Artisan 命令行工具**: Laravel 包含了一个内置的 Artisan 命令行...

    ThinkPHP5.1完全开发手册离线版.rar

    2. **路由系统**:ThinkPHP5.1引入了更灵活的路由规则,支持RESTful API设计,使得URL与控制器方法之间的映射更为简洁和直观。 3. **模型(Model)**:模型是数据库操作的核心,手册会详细解释如何定义模型类、使用...

    基于thinkphp5.1的博客后台

    1. **路由系统**:在ThinkPHP5.1中,路由规则被强化,允许开发者更灵活地定义URL到控制器和方法的映射。这有助于构建RESTful API和优化URL结构,提高用户体验。 2. **控制器继承**:项目中的控制器可以基于基础控制...

    ThinkPHP5.1完全开发手册-离线版-收费珍藏版

    5. **模型层**:模型层负责业务逻辑和数据操作,5.1版本引入了更多的ORM(对象关系映射)特性,如自动完成、自动验证和行为扩展,简化了数据库操作。 6. **视图层**:视图层主要处理页面展示,ThinkPHP5.1支持模板...

    工作流 activiti-5.1

    MyBatis 是一款优秀的持久层框架,它简化了Java应用与数据库之间的交互,允许开发者通过SQL语句直接操作数据库,同时提供了ORM(对象关系映射)功能,使得数据库操作更为便捷和灵活。将MyBatis集成到Activiti中,...

    MyEclipse5.1下建立Hibernate

    3. **导入Hibernate库**:在项目导航器中,右键点击“WEB-INF” &gt; “Libraries”,选择“Add External JARs”,找到你的Hibernate库文件(如hibernate-core.jar,hibernate-entitymanager.jar等),将其导入到项目中...

    MySql5.1ODBC连接驱动

    安装完成后,可以在ODBC数据源管理器中配置新的数据源,以便应用程序可以找到并连接到MySQL服务器。 需要注意的是,尽管现在ODBC连接在某些场景下可能不再是最常用的方式,但在一些遗留系统或特定的应用环境中,它...

    VRAY 5.1.02 for max2021

    - **材质编辑器升级**: 提供了更直观的界面和更丰富的预设,使得材质设置更为便捷。 - **混合材质**: 支持混合不同类型的材质,为创建复杂表面提供了更多可能性。 **4. 灯光和照明** - **GPU灯光**: 扩展了GPU渲染...

    elasticsearch5.1

    3. **索引管理**:Elasticsearch 5.1 支持动态创建和管理索引,如设置映射(mapping)来定义字段类型,以及调整索引设置如分片和副本的数量。 4. **搜索功能**:支持全文搜索、布尔查询、短语匹配、模糊匹配、范围...

    基于thinkphp 5.1 + workman + gateway 实现简单的在线客服聊天系统

    你可以利用它的控制器来组织HTTP请求的处理,模型来操作数据库,视图来生成响应的HTML,而路由则帮助你定义URL到特定处理函数的映射。 接下来,Workerman是PHP的一个高性能、高并发的异步事件驱动框架,特别适合...

Global site tag (gtag.js) - Google Analytics