2010-11-22 11 views
6

tengo una tarea ant para crear zip como esto -Hormiga - Java - zipfileset - excluyendo un directorio

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

Básicamente, esto crea archivo myzip.zip con todos los archivos y directorios bajo docs/manual el prefijo docs/userguide en el archivo.

Pero Yo no quiero incluir todos los directorios bajo docs/manual a ser copiados en el archivo, he un directorio llamado old bajo docs/manual que quiero excluir a ... ¿Cómo lograr esto?

Respuesta

10

Desde el ZipFileSet reference page

<zipfileset> compatible con todos los atributos de <fileset> además de las que se enumeran a continuación.

Consulte FileSet para referencia.

Así es como se hace:

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

o en línea como atributo:

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

Actualización: El uso de comodines ahora en lugar de simple nombre.

+0

Gracias por su respuesta, pero esto no parece funcionar para excluir todo el directorio. ¿Cómo pude ver que si uso cualquier nombre de archivo en lugar de "anterior", el archivo quedará excluido? –

+0

Bien, entonces necesitas usar comodines ant. algo como 'old/**' –

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

puede excluir un directorio completo por esto:

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

Esta respuesta excluye todos los archivos en ese directorio Y el directorio en sí. La respuesta aceptada más arriba solo excluye el contenido del directorio cuando lo probé, pero el directorio en sí aún estaba incluido –

0

Este fue el único que trabajó para mí para la eliminación de archivos de patrones específicos

<zip destfile="${bin.dir}/boo.jar"> 
    <zipfileset dir="${classes.dir}" excludes="**/*/BooCreator*.class"/> 
</zip> 
Cuestiones relacionadas