ANT备忘

1.使用<copy>进行复制时,默认情况下将拷贝目标文件夹下没有的文件,或者源文件比目标文件夹下同名文件更新的文件。如果想完全覆盖,需要添加overwrite="true"属性

2.Copy时使用fileset的写法

A. <fileset dir="f:/antsrc">

</fileset> 默认指dir下递归的所有文件和文件夹

B. <fileset dir="f:/antsrc">

      <include name="*"/>

</fileset> 指dir下的所有文件,包括文件夹(如果是文件夹,不包括该文件夹下的文件)

C. <fileset dir="f:/antsrc">

  <include name="*.*"/>

</fileset> 由于一般情况下文件名中都包括“.”,而文件夹名中不包括“.”,所以要想特指dir下的所有文件而不包括文件夹,可以将<include>的name属性写成"*.*"。

D. <fileset dir="f:/antsrc">

      <include name="**"/>

</fileset> 指dir下的所有路径上的文件和文件夹.相当于A,注意与B的区别。

E. <fileset dir="f:/antsrc">

      <include name="**/*.class"/>

</fileset> 指dir下的所有路径上的以.class为扩展名的文件,copy的时候回将目录结构一并进行复制(经常用到的写法).

F. <fileset dir="f:/antsrc">

      <include name="*/"/>

</fileset> 指dir下递归的所有文件和文件夹,相当于A,D.

G. <fileset dir="f:/antsrc">

      <include name="*/*"/>

</fileset> 指dir的一级子文件夹下的所有文件(文件夹看作是一个不包括子文件和子文件夹的普通文件),不包括dir下的一级子文件.

H. <fileset dir="f:/antsrc">

      <include name="*/*/"/>

</fileset> 指该文件夹下所有一级子文件夹下递归的所有文件和文件夹(文件夹看作是一个递归包含了其下所有文件的一个集合文件),不包括dir下的一级文件.

总结:

1.在<include>标签的name属性中,如果最后没有"/",则表示指定目录下的所有指定文件(文件夹看作是一个不包括子文件和子文件夹的普通文件);如果最后加"/",则表示指定目录下的所有指定文件(文件夹看作是一个递归包含了其下所有文件的一个集合文件);如果出现"**",则指代所有可到达的路径。

2.<fileset>标签的includes属性可以设置多个命名格式,中间用","分割,如

<fileset dir="f:/antsrc" includes="**/*.java,**/*.txt">.

而对于嵌套的<include>标签的name属性中则不能按上述方式设置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值