J'ai une application web Java, dans laquelle j'ai quelques dossiers dans le répertoire source de la webapp standard (src/main/webapp)
que je ne veux pas copier dans le guerre (exploded
ou packaged
). L'une des raisons pour lesquelles je ne veux pas que ces fichiers soient copiés est que nous exécutons le compresseur YUI JS & CSS minimizer & sur les fichiers .js et .css dans la guerre éclatée. Les fichiers que je veux exclure produisent des erreurs pendant la phase de compression. L'autre raison pour laquelle je ne veux pas qu'ils ajoutent à la guerre est qu'ils supportent le test d'une seule application JS qui vit dans la webapp (ce sont des scripts de test JS côté client qui s'appuient sur node
/angular.js
).Comment exclure des fichiers d'être copiés, par maven, dans la guerre éclatée
Voici les sections pertinentes du POM.xml
:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<executions>
<execution>
<id>parent-resources</id>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<overlays>
</overlays>
<webappDirectory>${project.build.directory}/${project.build.finalName}-work</webappDirectory>
</configuration>
<phase>generate-sources</phase>
<goals>
<goal>exploded</goal>
</goals>
</execution>
</executions>
</plugin>
J'ai essayé, sans succès, d'utiliser warSourceExcludes
d'exclure certains chemins, mais en vain. Un exemple de mon utilisation est illustré ci-dessous, où client/
est un dossier directement sous src/main/webapp
:
<configuration>
...
<warSourceExcludes>
<excludes>
<exclude>
client/
</exclude>
</excludes>
</warSourceExcludes>
...
</configuration>
Quelle est la bonne façon d'exclure certains chemins et ou des fichiers individuels, dans le répertoire source d'application Web d'être inclus dans la guerre éclatée?
MISE À JOUR
Faisant suite à la suggestion de @maba je mis à jour la configuration comme suit:
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<overlays>
</overlays>
<webappDirectory>${project.build.directory}/${project.build.finalName}-work</webappDirectory>
<warSourceExcludes>client/</warSourceExcludes>
</configuration>
Le dossier, client/
, est encore en train de copier à travers. Des idées?
warSourceExcludes est documenté comme étant une chaîne séparée par des virgules, donc il ne devrait pas y avoir de XML là-dedans . http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html –
question a été mise à jour pour refléter l'utilisation correcte - ne fonctionne toujours pas pour moi cependant. – Kris
Je pense qu'il y a un autre problème avec mon 'pom.xml'. Je vais regarder si cette semaine avec un projet vierge généré à partir d'un archétype – Kris