Différentes versions de Maven provoquent des bibliothèques supplémentaires à inclure dans le fichier WAR

StackOverflow https://stackoverflow.com/questions/4217417

  •  26-09-2019
  •  | 
  •  

Question

Je suis en train de construire un fichier de guerre à déployer sur un serveur tomcat en utilisant Maven, mais ont remarqué un comportement étrange lors de la construction de mon dossier de guerre:

Lors de l'exécution de la commande à partir du dossier de projet: mvn clean compile package -DskipTests

  • Version Maven 3.0 produit un fichier de guerre 12.079MB (49 fichiers jar dans le dossier WEB-INF / lib)
  • Version 3.0 beta1 Maven produit un fichier de guerre 8.7MB (31 jar fichiers dans le dossier WEB-INF / lib)
  • Version Maven 2.11 produit un fichier de guerre 2.3MB (3 fichiers jar dans le dossier WEB-INF / lib)

Que peut-être à l'origine des fichiers jar supplémentaires à inclure dans le projet? On peut supposer qu'ils ne sont pas nécessaires comme la construction du projet en utilisant la version 2.11 a bien fonctionné dans le passé.

Était-ce utile?

La solution

J'ai eu quelque chose de semblable me arriver. Voici ce qui est arrivé.

Dans Maven 2.x les versions des plugins sont définies par Maven lui-même. Dans Maven 3.x, il utilisera le « dernier » et vous donner un avertissement. Dans mon cas, en utilisant une version ultérieure du plug-in du compilateur causé quelques différences et une version ultérieure du plugin de dépendance peut générer d'autres différences.

Une fois que je mets explicitement toutes les versions de tous les plug-ins dans mon pom.xml (une meilleure pratique de toute façon), les incohérences a disparu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top