Dépendances Maven non visibles dans WEB-INF / lib

J’ai ce problème étrange qui rend mon projet basé sur Maven. J’ai créé un nouveau projet Maven dans Eclipse et activé les facettes Web dynamic. Mais pendant l’exécution, il génère désormais ClassNotFoundException car les dépendances Maven ne sont pas copiées dans le WEB-INF/lib . J’ai même essayé d’append la section des dépendances de copie dans POM, mais cela n’a pas aidé.

Quelqu’un ici semblait avoir résolu le problème correctement, mais je suppose qu’il a oublié de mentionner la solution: 🙁

    Cela n’a rien à voir avec eclipse et m2eclipse, et éventuellement avec un meilleur support – m2e-wtp . De plus, vous n’avez pas besoin de dépendances de copie. Voici quelques raisons possibles:

    • vous devez invoquer le mvn package (ou clic droit> maven> package) et obtenir un fichier war – le (dans le pom) doit être une war
    • vos dépendances doivent être avec la scope par défaut (si elles sont provided ou test elles ne seront pas incluses dans l’archive)
    • Si vous exécutez le projet en tant que projet Web dynamic sur un serveur dans eclipse, vous devez ouvrir les propriétés du projet (clic droit> propriétés) et sélectionner “Assemblage de déploiement”. Cliquez sur “Ajouter”, sélectionnez “Entrées du chemin de construction” et choisissez “Dépendances de Maven”. Cela indiquera au WTP d’envoyer les dépendances maven au répertoire du serveur.

    Installez d’abord l’ intégration Maven pour Eclipse WTP (Aide-> Eclipse Marketplace)

    Ensuite, dans pom.xml de votre projet Web, ajoutez simplement:

      war 

    Après cela, cliquez avec le bouton droit de la souris sur le projet, Maven -> Update Project, qui devrait append automatiquement les dépendances Maven à votre ensemble de déploiement.

    Faites un clic droit sur le projet> Maven> Mettre à jour le projet Maven> OK corrigé pour moi

    Vérifiez la propriété Assemblage de déploiement du projet. J’ai vu des mvn eclipse:eclipse projets Eclipse générés par eclipse ont parfois des ressources déployées au mauvais endroit. D’après ce dont je me souviens, la nouvelle Assemblée de déploiement présentait des problèmes avec les versions antérieures d’Eclipse 3.6 (Helios).

    Je viens de faire maven -> mise à jour du projet a fonctionné pour moi.

    vous voulez utiliser le plug-in de dépendances de copie

    voir ce post et les docs

    Si vous examinez votre déploiement et constatez que WEB-Inf / lib est vide de vos dépendances Maven, il est crucial de vous assurer que ces dépendances Maven se trouvent dans votre assemblage de déploiement.

    Méfiez-vous cependant de Eclipse alors ne pas rafraîchir tout, même avec une mise à jour de Maven. Si vous nettoyez, reconstruisez et redéployez et que le dossier lib n’est toujours pas rempli, essayez de supprimer et de ré-append l’application aux déploiements du serveur via Servers> Add and Remove.

    Cela a désengorgé le système pour moi.

    Cliquez avec le bouton droit de la souris sur le projet -> Assemblage de déploiement: vérifiez si vous avez les dépendances Maven et toutes les autres. Si ce n’est pas le cas, cliquez avec le bouton droit de la souris sur le projet -> Maven -> Activer la résolution de l’espace de travail

    (peut-être alors Maven -> Mise à jour du projet, mais regardez à nouveau dans “Deployment Assembly” et voyez ce que vous avez.) Cela a résolu (enfin!) pour moi.