2010-11-18 57 views
2

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:Différentes versions de Maven provoquent des bibliothèques supplémentaires à inclure dans le fichier WAR

lorsque vous exécutez 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 Maven 3.0 beta1 produit un fichier de guerre 8.7 MB (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 pour être inclus dans le projet? Vraisemblablement, ils ne sont pas nécessaires car la construction du projet en utilisant la version 2.11 a bien fonctionné dans le passé.

+1

Je pense qu'il sera plus facile de vous aider si vous montrez le nom du projet dans votre question. – Ither

+0

Utilisez-vous une configuration pour les guerres minces? – mglauche

Répondre

2

J'avais quelque chose de semblable qui m'arrivait. Voici ce qui est arrivé.

Dans Maven 2.x, les versions de plugin sont définies par Maven lui-même. Dans Maven 3.x, il utilisera le "dernier" et vous donnera un avertissement. Dans mon cas, l'utilisation d'une version plus récente du plugin du compilateur a causé quelques différences et une version ultérieure du plugin de dépendance a provoqué d'autres différences. Une fois que j'ai explicitement mis toutes les versions de tous les plugins dans mon pom.xml (une bonne pratique de toute façon), les incohérences ont disparu.