此任务已弃用。请使用 Copy
任务代替。
将目录树从源目录复制到目标目录。
可以细化要复制的文件集。这可以通过 includes、includesfile、excludes、excludesfile 和 defaultexcludes 属性来实现。使用 includes 或 includesfile 属性,您可以使用模式指定要包含的文件。使用 exclude 或 excludesfile 属性指定要排除的文件。这也是使用模式完成的。最后,使用 defaultexcludes 属性,您可以指定是否要使用默认排除。有关文件包含/排除的工作原理以及如何编写模式,请参阅有关 基于目录的任务 的部分。
此任务形成一个隐式 FileSet,并支持 <fileset>
的大多数属性(dir 变成 src),以及嵌套的 <include>
、<exclude>
和 <patternset>
元素。
属性 | 描述 | 必需 |
---|---|---|
src | 要复制的目录。 | 是 |
dest | 要复制到的目录。 | 是 |
includes | 必须包含的文件模式的逗号或空格分隔列表。 | 否;默认为所有 (**) |
includesfile | 文件名称。此文件的每一行都被视为一个包含模式。 | 否 |
excludes | 必须排除的文件模式的逗号或空格分隔列表。 | 否;默认为默认排除,如果 defaultexcludes 为 no则为无。 |
excludesfile | 文件名称。此文件的每一行都被视为一个排除模式。 | 否 |
defaultexcludes | 指示是否应使用默认排除 (yes|no)。 |
否;默认为 yes |
filtering | 指示在复制过程中是否应进行令牌过滤。 | 否;默认为 false |
flatten | 忽略源目录的目录结构,将所有文件复制到一个目录中,该目录由 dest 属性指定。 |
否;默认为 false |
forceoverwrite | 即使目标文件较新,也覆盖现有文件。 | 否;默认为 false |
将目录 ${src}/resources 复制到 ${dist}。
<copydir src="${src}/resources" dest="${dist}"/>
递归地将目录 ${src}/resources 复制到 ${dist}。复制所有 .java 文件,但名为 Test.java 的文件除外。
<copydir src="${src}/resources" dest="${dist}" includes="**/*.java" excludes="**/Test.java"/>
递归地将目录 ${src}/resources 复制到 ${dist}。复制所有 .java 文件,但 mypackage/test 目录下的文件除外。
<copydir src="${src}/resources" dest="${dist}" includes="**/*.java" excludes="mypackage/test/**"/>