Ant - Java - zipfileset - 不包括目录

时间:2010-11-22 12:49:49

标签: java ant zip

我有一个像这样创建zip的蚂蚁目标 -

<zip destfile="${dist}/myzip.zip">
    <zipfileset dir="docs/manual" prefix="docs/userguide"/>    
</zip>

这基本上会创建存档myzip.zip,其中docs/manual下的所有文件和目录都以档案中的docs / userguide为前缀。

但我不希望将docs/manual下的所有目录都包含在存档中, 我在old下有一个名为docs/manual的目录,我想排除...如何实现这一目标?

3 个答案:

答案 0 :(得分:10)

来自ZipFileSet reference page

  除了下面列出的内容之外,

<zipfileset>还支持<fileset>的所有属性。

请参阅FileSet以供参考。

您就是这样做的:

<zipfileset dir="docs/manual" prefix="docs/userguide">    
    <exclude name="old/**"/>
</zipfileset>

或内联属性:

<zipfileset dir="docs/manual" prefix="docs/userguide" exclude="old/**" />

更新:现在使用通配符而不是简单名称。

答案 1 :(得分:2)

您可以通过以下方式排除整个目录:

<zipfileset dir="docs/manual" prefix="docs/userguide" exlcudes="**/old/**"/>

答案 2 :(得分:1)

<zip destfile="${dist}/myzip.zip" excludes="docs/manual/old/**">
    <zipfileset dir="docs/manual" prefix="docs/userguide"/>    
</zip>