ant的ZipFileSet

的一种特殊形式。根据是使用了属性 src、还是属性dir,而有不同的行为:

  • 如果zipfileset使用了属性src(属性src是声明了一个zip文件)、或者声明了一个内嵌的资源集合,那么zipfilesetsrc使用的文件(items)来自src声明的zip文件中的条目。
  • 如果zipfileset使用了属性dir(属性dir是声明了一个目录),那么zipfileset使用dir指明的目录下的文件。

zipfileset除了支持fileset中的所有属性(例如dir属性),也新增了自己的一些属性。例如:

  • prefix属性:文件集中的所有文件,放在归档文件(archive)中以属性prefix的值作为目录名的目录下面。
  • fullpath属性:文件集中的文件,作为归档文件中以fullpath属性的值指明的文件(fullpath包含了归档包中的路径和文件名)。
    注意:
    1)只有当文件集代表一个文件的时候才能使用fullpath属性。
    2)不能在同一个文件集上同时设置prefix 和 fullpath 属性。

下面使用ant官网手册中的一个例子来说明https://ant.apache.org/manual/index.html

<zip destfile="${dist}/manual.zip">
  <zipfileset dir="htdocs/manual" prefix="docs/user-guide"/>
  <zipfileset dir="." includes="ChangeLog27.txt" fullpath="docs/ChangeLog.txt"/>
  <zipfileset src="examples.zip" includes="**/*.html" prefix="docs/examples"/>
</zip>

上面代码描述了如下产生归档文件的规则:

  • 将htdocs/manual目录下的所有文件打包到归档包的docs/user-guide目录下面。
  • 将当前目录下的ChangeLog27.txt 文件作为归档包中的docs/ChangeLog.txt文件。
  • 将压缩文件examples.zip中的所有html文件打包到归档包的docs/examples目录下面。

最后归档包可能包含的文件布局:

docs/user-guide/html/index.html
docs/ChangeLog.txt
docs/examples/index.html

你可能感兴趣的:(ant)