Estoy intentando controlar qué archivos forman el paquete WAR que se crea con el objetivo mvn package
. Específicamente, quiero excluir algunos archivos de la carpeta predeterminada src/main/resources
para cada paquete (estoy intentando hacer compilaciones/paquetes para diferentes entornos).Seleccionar ciertos archivos de recursos en WAR desde la ubicación predeterminada de src/main/resources con Maven
He intentado usar maven-war-plugin pero ha fallado. Si añado esta configuración (para la prueba):
<webResources>
<resource>
<directory>src/main/resources</directory>
<targetPath>WEB-INF/classes</targetPath>
<excludes>
<exclude>*.xml</exclude>
</excludes>
</resource>
</webResources>
... mis WEB-INF/classes
seguirá conteniendo los archivos XML. Esto se debe a que el parámetro webResources
parece duplicar el proceso de copiado (la configuración anterior funciona, los archivos no se copian ... pero se copian en algún otro proceso , excepto).
Maven-war-plugin documentation estados:
El directorio de recursos por defecto para todos los 2 proyectos Maven es src/main/resources, que terminarán en target/classes y en WEB-INF/classes en la guerra. La estructura del directorio se conservará en el proceso.
El complemento WAR también puede incluir recursos que no se encuentran en el directorio de recursos predeterminado a través del parámetro webResources.
Esto es un poco confuso. ¿Quiere decir que:
webResources
El parámetro es una función de experto-guerra-plugin que permite que los archivos que se incluirán solamente desde fuerasrc/main/resources
carpeta? Si es así, ¿cómo podemos alterar los archivos copiados desde el interior desrc/main/resources
?- El parámetro
webResources
es una característica de maven-war-plugin que permite incluir archivos también desde afuera de la carpetasrc/main/resources
? Si es así, ¿cómo se puede configurar para hacer esto? - ¿Alguna otra opción?
¿Está intentando construir para diferentes entornos con el mismo paquete mvn o lo controla utilizando perfiles? – khmarbaise
Sí, estoy usando perfiles. –