Eclipse: problème lié aux assemblys de déploiement Web et aux dépendances Maven
Problème
Dans Eclipse 3.5 ou version antérieure, afin de déployer les dépendances Maven dans le bon dossier «/WEB-INF/lib», vous devez configurer les dépendances via «Java EE Module Dependencies» et la mise à jour «.classpath» le fichier ressemblera à ceci:
Fichier: «.classpath», par dépendances du module Java EE…
......
Depuis Eclipse 3.6, les «Dépendances du module Java EE» sont remplacées par «Web Deployment Assembly», mais vous pouvez faire de même via les «Entrées de chemin de classe des projets référencés», cependant, il mettra à jour le fichier «.classpath» comme Suivant :
Fichier: «.classpath», par Web Deployment Assembly…
......
Malheureusement, la valeur par défaut(value=”../”) empêche le déploiement de toutes les dépendances de Maven.
Solution
Ce n'est pas un gros problème, vous pouvez toujours modifier manuellement les(value=”../”) en(value=”/WEB-INF/lib”), mais il sera remplacé à chaque fois que vous exécutez une compilation Maven. Pas de souci, il y a encore deux solutions:
1. Prise en charge WTP
Ignorez les paramètres «Entrées de chemin de classe des projets référencés», rendez plutôt le Maven compatible avec WTP 2.0
mvn eclipse:eclipse -Dwtpversion=2.0
Il générera un nouveau fichier nommé «org.eclipse.wst.common.component», sous le dossier «settings», voir une partie de ce fichier:
Fichier: «org.eclipse.wst.common.component», par WTP
...... uses
Avec la prise en charge WTP, il aide à déployer correctement les dépendances Maven dans le dossier «/WEB-INF/lib».
2. plugin m2eclipse
Installez lem2eclipse, un plugin Eclipse pour intégrer Maven dans l'IDE Eclipse. Après l'installation, faites un clic droit sur le dossier du projet, sélectionnez «Maven» -> «Update Project Configuration», il mettra à jour le fichier «.classpath» en conséquence, voir un extrait
Fichier: «.classpath», par m2eclipse
......
Il aide également à déployer correctement les dépendances Maven.