maven2: exclure le répertoire de WAR

J’ai essayé d’exclure tout le répertoire ($ {basedir} / src / main / webapp / webscripts) de mon fichier WAR, mais celui-ci a échoué. Qu’est-ce qui ne va pas?

cela ne fonctionne pas:

   ${basedir}/src/main/webapp/webscripts  **/*.*     

cela aussi:

    ${basedir}/src/main/webapp  **/webscripts     

Quelqu’un peut-il aider?

Vos deux solutions ne vous aideraient pas, car elles appendaient une ressource supplémentaire qui serait ensuite désactivée. Le dossier source webapp est copié par défaut, sans le mécanisme de ressource.

Le mécanisme permettant de désactiver une partie de celui-ci passe par le paramètre , comme ceci:

  org.apache.maven.plugins maven-war-plugin 2.1  webscripts/**   

warSourceExcludes ne semble pas avoir été simplement renommé packagingExcludes .

warSourceExcludes : liste de jetons séparés par des virgules à exclure lors de la copie du contenu de warSourceDirectory.

packagingExcludes : liste de jetons séparés par des virgules à exclure du WAR avant le conditionnement. Cette option peut être utilisée pour implémenter le cas d’utilisation skin de WAR.

Il y a une grande différence: avec packagingExcludes , les jetons sont complètement exclus du fichier de guerre final. Avec warSourceExcludes , les jetons sont simplement ignorés lors de la copie du répertoire war dans le fichier war. Par conséquent, si les jetons sont présents dans le fichier webappDirectory, par exemple, ils ne seront pas ignorés lors de l’utilisation de warSourceExcludes, mais seront utilisés lors de l’utilisation de packagingExcludes .

Et un exemple de syntaxe de travail:

 **/${project.artifactId}/** 

Dans la version 2.1-alpha-1, cela s’appelait incorrectement warSourceExcludes. Le bon paramètre est packagingExcludes

Exemple d’utilisation (exclut WEB-INF / statics / folder de WAR):

  org.apache.maven.plugins maven-war-plugin 2.1.1  searchservice-web WEB-INF/statics/   

Structure du projet

Afin de supprimer les fichiers source, j’ai utilisé la configuration ci-dessous dans maven

   maven-war-plugin 3.2.0   eb-app/app/**,eb-app/node_modules/**,eb-app/public/**,eb-app/server/**,eb-app/tests/**,eb-app/tmp/**,eb-app/vendor/**,eb-app/*    

Avait un scénario où je devais exclure deux dossiers qui pourraient être appariés par des *scripts et ils étaient dans le dossier des ressources. La première confusion consistait à savoir s’il fallait fournir la valeur d’exclusion sous la forme de src/main/resources/*scripts ou de src/main/resources/*scripts WEB-INF/classes/*scripts , c’est-à-dire avant ou après la compilation.

Il était très important de fournir /** pour que le répertoire entier soit exclu du fichier de guerre. Dans mon cas, *scripts/** .

Voici la configuration finale qui a fonctionné:

  WEB-INF/classes/*scripts/**