Solía copydircopiar un árbol de directorios pero está en desuso. Mi directorio contiene algunos subdirectorios, y algunos de ellos contienen archivos y otros contienen más subdirectorios.
Parece que quieres hacer una copia recursiva. Y esa es la solución que dio Omnipresent. Más personas pueden encontrar esta pregunta si la palabra "recursiva" apareció en la pregunta.
aparentemente, includesno es necesario cuando quieres todo (ver la respuesta del usuario s1n )
Abel
40
Esto copia el contenido de {src.dir}, pero no el directorio real
cmcginty
Las copias no lo hicieron, pero su contenido.
A-Live
Como eres la respuesta aceptada, puedes corregirla para que se convierta en la respuesta correcta (la respuesta de ery es correcta) ;-)
Christian Fries
Tengo entendido que la idea de SO es la curación colectiva, por lo que cualquiera puede editar la pregunta de otra persona (aunque se necesita mucho representante para omitir la revisión de la edición).
esta debería ser la respuesta CORRECTA. La otra respuesta es para la pregunta "¿Cómo se copia el contenido de un directorio usando Ant". Hay una sutil diferencia.
cmcginty
"Esta debería ser la respuesta CORRECTA": Absolutamente, aunque la diferencia no es tan sutil cuando no puede cargar sus recursos con los nombres de ruta esperados.
Jim Pivarski
1
no funciona para ant 1.8, parece que no pasó nada.
CCC
8
@CCC asegúrese de que $ {src.dir} sea relativo a $ {src.dir.parent}, y no una ruta completa
Mike Demenok
muy engañoso cómo x.parentse supone que NO SERÁ el parentde x... -_-
chip
25
Solo debería tener que especificar el directorio (sin la propiedad incluye):
Un buen punto: ant solo copiará los subdirectorios si los archivos de origen son más nuevos que los de destino. [1] En mi caso, los subdirectorios no se estaban copiando (estoy usando verbose = "true"), ya que no hubo cambios y ya estaban en el destino. Puede usar "sobrescribir" para forzarlo, o tocar algunos de los archivos en sus subdirectorios de origen.
Usé incluir etiquetas como se muestra en el siguiente fragmento de código en mi archivo build.xml para copiar archivos jar individuales dentro de un directorio.
Otra tarea de hormigas es Copydir . La parte clave aquí es incluir el nombre del directorio que desea copiar después del directorio dest. Los subdirectorios y archivos se copiarán automáticamente.
Desde su enlace: esta tarea ha quedado obsoleta. En su lugar, utilice la tarea Copiar.
Jim
0
Este código debería copiar la carpeta y su contenido. También utiliza la tarea de nombre base para evitar tener que realizar un análisis manual de la ruta.
Respuestas:
cree que hará lo que quiera ... (copia recursiva hecha)
fuente
includes
no es necesario cuando quieres todo (ver la respuesta del usuario s1n )Copie el contenido, incluido el directorio en sí.
Nota: $ {src.dir} es relativo a $ {src.dir.parent} y no es una ruta completa
fuente
x.parent
se supone que NO SERÁ elparent
dex
... -_-Solo debería tener que especificar el directorio (sin la propiedad incluye):
Consulte el manual para obtener más detalles y ejemplos.
fuente
Copie el contenido, incluido el directorio en sí.
fuente
Un buen punto: ant solo copiará los subdirectorios si los archivos de origen son más nuevos que los de destino. [1] En mi caso, los subdirectorios no se estaban copiando (estoy usando verbose = "true"), ya que no hubo cambios y ya estaban en el destino. Puede usar "sobrescribir" para forzarlo, o tocar algunos de los archivos en sus subdirectorios de origen.
fuente
Usé incluir etiquetas como se muestra en el siguiente fragmento de código en mi archivo build.xml para copiar archivos jar individuales dentro de un directorio.
fuente
A partir del ejemplo aquí , puede escribir un archivo Ant simple usando la tarea de copia.
Esto debería copiar todo el interior
src_dir
(excluyéndolo) anew/dir
.fuente
Estoy agregando un patrón más genérico para copiar todas las subcarpetas.
Consulte Patrones para obtener más detalles.
fuente
Otra tarea de hormigas es Copydir . La parte clave aquí es incluir el nombre del directorio que desea copiar después del directorio dest. Los subdirectorios y archivos se copiarán automáticamente.
fuente
Este código debería copiar la carpeta y su contenido. También utiliza la tarea de nombre base para evitar tener que realizar un análisis manual de la ruta.
fuente
Finalmente copié usando el siguiente código
Esto copiará la carpeta src de dist a build.
Espero que esto ayude a alguien.
fuente