Les dépendances de Maven ne sont pas visibles dans WEB-INF/lib
j'ai un problème avec mon projet Maven. J'ai créé un nouveau Maven projet dans Eclipse et a permis les facettes Web dynamiques. Mais pendant l'exécution maintenant il lance ClassNotFoundException
parce que les dépendances Maven ne sont pas copiées dans le répertoire WEB-INF/lib
. J'ai même essayé d'ajouter la section copy-dependencies dans POM, mais cela n'a pas aidé.
Quelqu'un ici semble avoir résolu ce la bonne façon, mais je suppose qu'il a oublié de mentionner la solution:: (
8 réponses
cela n'a rien à voir avec eclipse et m2eclipse, et optionnellement pour un meilleur support - m2e-wtp . De plus, vous n'avez pas besoin de dépendance à la copie. Voici quelques raisons possibles:
- vous devez invoquer
mvn package
( ou clic droit > paquet maven>) et obtenir un fichier de guerre - le<packaging>
(dans le pom) doit êtrewar
- vos dépendances devraient être avec la portée par défaut (si elles sont
provided
outest
ils ne seront pas inclus dans l'archive) - si vous exécutez le projet en tant que projet web dynamique sur un serveur dans eclipse, alors vous devez ouvrir les propriétés du projet (clic droit > Propriétés) et sélectionner"Deployment Assembly". Cliquez sur "Ajouter", sélectionnez" construire des entrées de chemin", et choisissez"Maven dependencies". Cela va demander à WTP d'envoyer les dépendances maven au serveur dir.
Première installation Intégration de Maven Pour Eclipse WTP (Aide->Eclipse Marketplace)
puis dans le pom de votre projet web.xml ajoute simplement:
<packaging>war</packaging>
après ce clic droit juste le projet, Maven -> Update Project, qui devrait automatiquement ajouter des dépendances Maven pour vous dans L'assemblage de déploiement.
Droit-cliquez sur le projet Maven > mise à Jour de Projet Maven > OK fixe pour moi
cocher la Case le Déploiement de l'Assemblée de la propriété du projet. J'ai vu certains projets mvn eclipse:eclipse
générés par Eclipse ont parfois les ressources déployées au mauvais endroit. De ce dont je me souviens, la nouvelle "Deployment Assembly avait quelques problèmes avec les versions précédentes D'Eclipse 3.6 (Helios).
je viens de faire maven -> le projet de mise à jour a fonctionné pour moi.
si vous examinez votre déploiement et voyez que WEB-Inf/lib est vide de vos dépendances Maven, alors s'assurer que ces dépendances Maven sont dans votre assemblage de déploiement est crucial comme le mentionne la réponse choisie.
cependant méfiez-vous D'Eclipse alors ne pas tout rafraîchir, même avec une mise à jour Maven. Si vous nettoyez, reconstruisez et redéployez et ne voyez toujours pas le dossier lib peuplé essayez de supprimer et de rajouter l'application aux déploiements du serveur via Serveurs>ajouter et supprimer.
ceci a débloqué le système pour moi.
clic droit projet - > montage de déploiement: Voyez si vous avez les Dépendances Maven et tous les autres. Si ce n', Clic droit sur le projet - > Maven - > activer la résolution de L'espace de travail
(peut-être alors Maven - > mettre à jour le projet, mais puis regarder à nouveau dans" L'assemblage de déploiement " et de voir ce que vous avez.) ceci l'a résolu (enfin!) m'.