ANT常用任务:Copy Tasks
注意:本节笔记中所使用的缩写/名词:
[project.basedir] : 表示ant构建文件build.xml中project元素basedir属性的值.此属性在上一节中已有说明,再次不在赘述.
源文件 : 指被复制的文件.
源目录 : 是与源文件相关的文件夹,具体的解释说不清, 可以在回复中附上各位的解释说明.
复制文件 : 指复制后产生的副本文件.
目标目录 : 是与复制文件相关的文件夹.类同与源目录.
文件集 : 对应于ant中的fileset名词.是指一组文件的集合.
============================
复制指定文件
<copy file="myFile.txt" tofile="myCopy.txt"/>
运行结果说明:
复制源文件([
project.basedir]/myFile.txt)到同目录下([
project.basedir]/), 并将复制文件命名为"myCopy.txt".
============================
复制指定文件到指定目录
<copy file="myFile.txt" todir="anydir/other/dir">
运行结果说明:
复制源文件([
project.basedir]/myFile.txt)到指定目录([
project.basedir]/anydir/other/dir)下,复制文件名同源文件名.
============================
复制源目录到指定目录
<copy todir="anydir/other/dir">
<fileset dir="new/dir"/>
</copy>
运行结果说明:
将源目录([
project.basedir]/new/dir)下的内容复制到目标目录([
project.basedir]/anydir/other/dir)下.
============================
复制文件集到指定目录
<copy todir="otherdir/dir">
<fileset dir="new">
<exclude name="**/*.txt">
</fileset>
</copy>
<copy todir="otherdir/dir">
<fileset dir="new" excludes="**/*.txt"/>
</copy>
运行结果说明:
这里需要说一下fileset.fileset的属性excludes的值或者其包含的元素exclude的name属性的值都包含"*"号, 在这里"*"号是什么意思呢?
"*"是我们常见的通配符, *.txt就代表了所有的.txt文件, 但单个*所代表的内容中是不能包含slash (/)
(或者back-slash?)的。所以,如果是:
<fileset dir="dir" includes="*.jar"/>
则表示include(包含) ${lib.dir}文件夹(不包括其子文件夹)下的所有.jar文件.
两个星号**则可以代表包含slash
(或者back-slash?)的任意内容,用在路径里面那就是recursive(递归)的意思了。所以:
<fileset dir="${lib.dir}" includes="**/*.jar"/>
表示的是include ${lib.dir}及其子文件夹下的所有.jar文件.
include是包含的意思, exclude是不包含,除...之外的意思.
现在来说下运行结果, 将源目录([
project.basedir]/new)下,包括其子目录在内的所有非.txt文件复制到目标目录([
project.basedir]/otherdir/dir)下.
============================
复制文件集到指定目录,并将被所有的文件名都添加.bak后缀
<copy todir="otherdir/dir">
<fileset dir="new"/>
<globmapper from="*" to="*.bak">
</copy>
运行结果说明:
将源目录([
project.basedir]/new)下的文件及子目录下的文件复制到目标目录(([
project.basedir]/otherdir/dir))下, 并且将所有复制的文件或者文件夹的名称的最末添加.bak.
这里需要说一下, 操作结束后会存在一个名称被加上.bak的空文件夹. 同时还会存在一个没有添加.bak的文件夹, 该文件夹包含所有附加上.bak 的文件.
[PS]我表述不明白, 大家最好自己测试一下, 看看结果, 就有了直观的印象了
============================
复制文件集到指定目录, 并将复制后得到的文件中的@TITLE@替换为Foo Bar
<copy todir="otherdir/dir">
<fileset dir="new"/>
<filterset>
<filter token="TITLE" value="Foo Bar"/>
</filterset>
</copy>
运行结果说明:
将源目录([
project.basedir]/new)下的文件及子目录下的文件复制到目标目录(([
project.basedir]/otherdir/dir))下, 并且将所有被复制的文件的内容中包含@TITLE@的部分替换为Foo Bar
- 大小: 9.4 KB
- 大小: 6.7 KB
- 大小: 5.8 KB
分享到:
相关推荐
maven包:maven-ant-tasks-2.1.3.jar 手动下载配置,解决国外源下载速度慢的问题
还在为找不到jar文件烦心吗,不用了到我空间来有你想要的,持续更新。。。 maven-ant-tasks.jar
标签:ant-tasks-2.1.3.jar,ant,tasks,2.1.3,jar包下载,依赖包
The Mavent Ant Tasks allow several of Maven's artifact handling features to be used from within an Ant build. These include: Dependency management - including transitive dependencies, scope ...
标签:ant-tasks-2.1.3.jar.zip,ant,tasks,2.1.3,jar.zip包下载,依赖包
CapistranoDb任务| 将数据库和资产任务添加到Capistrano到Rails项目。 它仅适用于capistrano3。0.3之前的较早版本适用于capistrano 2。 现在它仅支持mysql和postgresql(远程和本地) 将资产远程同步到本地,将本地...
标签:ant-tasks-2.1.4-sources.jar,ant,tasks,2.1.4,sources,jar包下载,依赖包
标签:ant-tasks-2.1.4-javadoc.jar,ant,tasks,2.1.4,javadoc,jar包下载,依赖包
maven-ant-tasks:Apache Maven ant任务的镜像
标签:ant-tasks-2.1.4.jar,ant,tasks,2.1.4,jar包下载,依赖包
标签:ant-tasks-2.4.1.FINAL.jar.zip,ant,tasks,2.4.1.FINAL,jar.zip包下载,依赖包
官方版本,亲测可用
html-css-tasks-anika2:html-css-tasks-anika2由GitHub Classroom创建
html-css-tasks-Aidan82:html-css-tasks-Aidan82由GitHub Classroom创建
The .NET antlib in preparation will replace the .NET optional tasks which ship in Ant. Support for the version control system Subversion will be only provided as an antlib to be released shortly. ...
名称:ClickUp Tasks, Screenshots, Ema -------------------- 版本:1.9.16 作者:https://clickup.com/ 分类:生产工具 -------------------- 概述:ClickUp 是一个生产力平台,可让您的个人和工作生活更高效,...
The Mavent Ant Tasks allow several of Maven's artifact handling features to be used from within an Ant build. These include: Dependency management - including transitive dependencies, scope ...
Gulp任务以在AWS Lambda上部署SWF决策程序(对于 ) 用法 npm install gulp --save-dev npm install run-sequence --save-dev npm install swf-lambda-decider-gulp-tasks --save-dev npm install node-uuid --save...
git clone https://github.com/Maxlab/php-tasks-to-prepare-for-interview.git && cd php-tasks-to-prepare-for-interview 描述: 按任务类型划分任务。 每种类型都由一个接口表示。 还有几个帮助程序类: Data....
sp-build-tasks SharePoint前端项目自动化和任务工具带 该库旨在与 Yeoman生成器一起使用,但也可以用作独立程序包。安装相依性npm i sp-build-tasks --save-dev集成到代码// gulpfile.jsconst gulp = require ( '...