Ant - Java - zipfileset - исключая каталог

У меня есть цель муравья для создания почтового индекса, как это -

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

Это в основном создает архив myzip.zip со всеми файлами и каталогами под docs/manual с префиксом docs / userguide в архиве.

Но я не хочу включать все каталоги в docs/manual чтобы скопировать в архив, у меня есть каталог с именем old под docs/manual который я хочу исключить... Как этого добиться?

4 ответа

Решение

Со справочной страницы ZipFileSet

<zipfileset> поддерживает все атрибуты <fileset> в дополнение к перечисленным ниже.

Так что смотрите FileSet для справки.

Вот как вы это делаете:

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

или встроенный как атрибут:

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

Обновление: теперь с использованием подстановочных знаков вместо простого имени.

Вы можете исключить весь каталог следующим образом:

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

Это был единственный, который работал для меня для удаления определенного шаблона файла

<zip destfile="${bin.dir}/boo.jar">
   <zipfileset dir="${classes.dir}" excludes="**/*/BooCreator*.class"/>
</zip>
Другие вопросы по тегам