De forma predeterminada, durante el proceso de creación maven está eliminando los directorios vacíos.
¿Sabe si se puede especificar un parámetro en el pom para indicarle a maven que incluya directorios vacíos en la carpeta generada de target/test-classes?Maven - cómo incluir directorios vacíos
Respuesta
De acuerdo con this ticket MRESOURCES-36, debe haber un elemento <includeEmptyDirs>
, pero solo para Maven Resources Plugin 2.3.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.3</version>
<configuration>
<includeEmptyDirs>true</includeEmptyDirs>
</configuration>
</plugin>
Para las versiones de Maven que incluía una versión anterior del complemento Recursos:
Hasta que este problema se soluciona, aquí es una solución que he estado usando con éxito.
Agregue este elemento de complemento alproject/build/plugins
en supom.xml
, y cambie el directorio en la tarea mkdir.Puede tener múltiples elementos
<mkdir>
para múltiples directorios. La tareamkdir
no hace nada si el directorio ya ha sido copiado por el complemento de recursos.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>create-empty-directory</id>
<phase>process-classes</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<mkdir dir="${basedir}/target/classes/empty" />
</tasks>
</configuration>
</execution>
</executions>
</plugin>
Este originalmente vinieron del openejb-standalone pom.xml
en el proyecto openejb.
Por lo general, hemos solucionado este problema al incluir un archivo de marcador de posición vacío en los directorios que necesitamos crear pero que no tienen contenido útil en tiempo de compilación.
Esto también tiene la ventaja de que los formatos de archivo (por ejemplo, archivos zip) que no permiten el concepto de directorios vacíos seguirán creando la estructura de directorios correcta.
¿Por qué necesita carpetas vacías en target/test-classes?
Por otro lado, puede usar el complemento de ensamblaje para crear carpetas vacías en archivos zip/tar.gz.
Basta con crear una entrada en su descriptor de montaje que hace referencia a una carpeta existente (en este caso src/main/resources/bin ...
<fileSet>
<directory>src/main/resources/bin</directory>
<outputDirectory>/logs</outputDirectory>
<directoryMode>0755</directoryMode>
<excludes>
<exclude>*</exclude>
</excludes>
</fileSet>
Los trabajos anteriores de los archivos .tar.gz y de la cremallera como bien. El modo de directorio anterior solo es necesario si crea archivos .tar.gz.
La segunda posibilidad es crear una carpeta vacía en su estructura de carpetas que se incluye con el complemento de ensamblaje (como zip, tar.gz, etc.) ... Por cierto: zip, tar.gz permitir carpetas vacías.
obtiene mi +1 porque necesitaba este truco de ensamblaje, pero ¿por qué cuestiona las necesidades del OP? – Superole
He utilizado el plugin Asamblea como khmarbaise sugirió, sino para conseguir que funcione necesitaba usar un estilo de hormiga Excluir para asegurarse de que no hay archivos o directorios se deslizaron en el archivo:
<excludes>
<exclude>**/*</exclude>
</excludes>
Si no está funcionando para usted puede usar Maven Resources Plugin 2.7.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<configuration>
<includeEmptyDirs>true</includeEmptyDirs>
</configuration>
</plugin>
Agregue información para el OP – JackWhiteIII
¿Qué quiere decir con eso? – Belkasmi
- 1. Eliminar directorios vacíos utilizando msbuild
- 2. Encontrar directorios vacíos en Python
- 3. Filtrar directorios vacíos en Package Explorer Ver
- 4. RecursiveDirectoryIterator() no muestra los directorios vacíos
- 5. Excluir directorios vacíos con Jar Jar Links
- 6. objetivos vacíos en m2eclipse (MAVEN)
- 7. Eliminación de directorios no vacíos en Java
- 8. Rsync cómo incluir directorios pero no archivos?
- 9. Maven estructura de directorios
- 10. Eclipse CDT Integrados Incluir directorios
- 11. Cómo prevenir git rebase svn para crear directorios vacíos
- 12. ¿Cómo puedo hacer que Inno Setup ignore los directorios vacíos?
- 13. Ruby: ¿cómo puedo encontrar y eliminar directorios vacíos recursivamente?
- 14. Incluir JAXB usando Maven
- 15. Argumentos "nulos" versus "vacíos" en Maven
- 16. Incluir dependencia JSTL con Maven
- 17. Maven exec plugin- ¿cómo incluir classpath "sistema"?
- 18. PHP Elimina recursivamente los directorios vacíos con los iteradores SPL
- 19. maven artifact repository estructura de directorios especificaciones
- 20. ¿Cómo incluir estructura de directorios en un archivo jar ant?
- 21. Maven compila con múltiples directorios src
- 22. Cómo incluir automáticamente el código generado xmlbeans en maven jar?
- 23. ¿Cómo puedo incluir pruebas unitarias en el ensamblaje de maven?
- 24. ¿Cómo incluir correctamente las fuentes de Java en Maven?
- 25. Maven javadoc plugin - ¿cómo puedo incluir solo ciertas clases?
- 26. Apache reescritura excepción de no incluir directorios específicos
- 27. ¿Cómo puedo usar el comando `find` en Linux para eliminar directorios no vacíos?
- 28. ¿Cómo enumerar todos los directorios vacíos usando el archivo por lotes de Windows?
- 29. Maven-webstart-plugin para incluir dependencias de tiempo de ejecución
- 30. ¿Qué dependencias maven incluir para la primavera 3.0?
Niza (y tienes mi +1), pero se me olvidó para dejar un comentario: puede que aclarar que 2.3 es la versión del plug-in de recursos, no Maven en sí (y la solución antRun era útil antes de la liberación del versión 2.3 del plugin Resource) –
@Pascal: lo tiene, y he actualizado mi respuesta para reflejar mejor sus comentarios. – VonC
He intentado esto con una carpeta vacía en 'scr \ main \ webapp \' y no funciona con la versión 2.6 (usando el primer enfoque anterior). ¿Deberia? – Bizmarck