web-dev-qa-db-fra.com

Dépendances maven manquantes de l'assembly de déploiement

Je suis récemment passé de Eclipse 4.4.2 (Luna) à 4.5 (Mars). Mon projet Web dynamique n'inclut plus les dépendances Maven dans son déploiement Assembly "Projet-> Propriétés-> Deployment Assembly".

Je peux les ajouter manuellement (en utilisant "Projet-> Propriétés-> Assemblage de déploiement-> Ajouter-> Entrées du chemin de construction Java-> Dépendances Maven"), mais à chaque fois que je lance "Projet-> Maven-> Mettre à jour la configuration du projet" Les dépendances Maven sont à nouveau supprimées.

Notez que j'exécute le projet à l'aide du serveur Apache Tomcat dans l'IDE Eclipse.

J'ai installé 

  • m2e 1.6.0.20150526-2032
  • m2e-wtp 1.2.0.20150602-1740
23
Behnil

Cela ne devrait avoir rien à voir avec Eclipse et m2Eclipse, et éventuellement pour un meilleur support - m2e-wtp. En outre, vous n'avez pas besoin de dépendances de copie. Voici quelques raisons possibles:

  • vous devez invoquer le package mvn (ou cliquer avec le bouton droit de la souris sur> maven> package) et obtenir un fichier war - le (dans le pom) doit être war

    <packaging> war </ packaging>

  • vos dépendances doivent être avec la portée par défaut (si elles sont fournies ou testées, elles ne seront pas incluses dans l'archive)

  • si vous exécutez le projet en tant que projet Web dynamique 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". Là, cliquez sur "ajouter", sélectionnez "entrées de chemin de construction", et choisissez "dépendances maven". Cela demandera à WTP d'envoyer les dépendances maven au répertoire du serveur.
12
Jebil

pouvez-vous s'il vous plaît essayer de nettoyer la configuration en suivant les étapes ci-dessous

  1. désactiver la nature de l'application Maven: 

Right Click Project -> Maven -> Disable Maven Nature

  1. ouvrez cmd, accédez à l'emplacement du projet, exécutez mvn clean install Eclipse:eclipse -Dwtpversion=2.0 (cet objectif supprime simplement les .project, .classpath et .settings/ files/directories. Vous pouvez également supprimer ces fichiers (à nouveau lorsque le projet est ouvert) au lieu d'exécuter mvn Eclipse clean.)

  2. Réactivez la nature maven ..__ (la plupart du temps, vous pouvez le faire en cliquant avec le bouton droit de la souris sur le projet en question dans le volet Explorateur de packages, puis en choisissant 'Configure'-> 'Convert to Maven Project').

vous pouvez essayer d'autres choses 

1. reimport project into some other workspace 
2. resintall Eclipse 

si cela ne résout toujours pas votre problème, vous devrez probablement probablement élever Jira à l'équipe Eclipse.

3
Bhupi

J'ai résolu le même problème de cette façon:

  1. Ouvrez pom.xml et créez Packaging war.
  2. Cliquez avec le bouton droit sur le projet et sélectionnez Maven>Update Project.

Mettra à jour le projet sans supprimer les dépendances Maven de Deployment Assembly; Et s'il manque les dépendances Maven, le Maven>Update Project l'ajoutera automatiquement à l'assemblage de déploiement

2
Hatem Badawi

Ce que je faisais - je remplaçais le fichier web.xml par défaut par mon propre web.xml. 

Au moment où j'ai remplacé mon fichier web.xml par défaut (créé lors de la création d'un nouveau projet Web maven), les dépendances Maven ont disparu de l'assembly de déploiement. Ainsi, au lieu de remplacer, j'ai copié-collé mon contenu dans le fichier web.xml d'origine/par défaut.

Cela a résolu mon problème.

1
Mukul Bansal

J'ai récemment eu le même problème, tout comme votre description ci-dessus, et je l'ai obtenu de cette façon:

  1. faites un clic droit sur projet> Maven> Désactiver Maven Nature
  2. clic droit sur projet> Configurer> Convertir en projet Maven

Appelez ensuite le projet de mise à jour Maven, les dépendances Maven ne disparaîtront plus de la vue de Deployment Assembly.

1
Patrick He

mon cas était le suivant: Je n'ai même pas pu choisir les "dépendances Maven" pour "l'Assemblée de déploiement".

Je pourrais enfin (!) Le résoudre de cette façon: Clic droit sur le projet -> Maven -> Activer la résolution de l’espace de travail

surveillez à nouveau dans "Deployment Assembly" (propriétés du projet), si cela a fonctionné.

0
Robert Fornesdale

J'ai résolu un problème similaire en effectuant les actions suivantes sur mon projet Web:

  • enlever la nature maven 
  • nettoyer tous les fichiers générés par m2e
  • ajout de la nature maven
  • alt + F5

Remarque: j'ai eu ce problème après avoir ajouté Maven Nature à mes projets Java afin de les utiliser avec m2e au lieu du plugin précédent Maven Eclipse (ancien ...).

0
David SCHERRER

Ma solution était:

Eclipse> Fenêtre> Préférences> Maven> Intégration Java EE> Cochez "Activer la configuration Java EE"

0
roger

J'ai résolu ce problème comme suit;

  1. copiez le contenu du fichier web.xml et enregistrez-le quelque part pour une utilisation ultérieure.

  2. supprimez le fichier web.xml.

  3. Faites un clic droit sur le projet -> Outils Java EE -> Générer un stub de descripteur de déploiement

l’étape 3 générera le fichier web.xml dans le dossier WEB-INF. vous pouvez ensuite coller votre contenu enregistré à l'étape 1 dans le fichier web.xml nouvellement généré.

Après cela, vos dépendances maven ne seront pas supprimées de l'assembly de déploiement.

0
Elias

Dans mon cas, il s'agissait d'une pluginExecutionFilter dans la section pluginManagement du fichier pom.xml.

La suppression de la section pour org.Apache.maven.plugins:maven-war-plugin a permis d'éliminer le problème des dépendances maven qui disparaîtrait de l'assembly de déploiement, ainsi que le problème suivant: après avoir ajouté les dépendances maven manuellement, le déploiement devrait également installer des dépendances de test:

                <!-- Remove to eliminate vanishing maven dependencies
                           <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>
                                        org.Apache.maven.plugins
                                    </groupId>
                                    <artifactId>
                                        maven-war-plugin
                                    </artifactId>
                                    <versionRange>
                                        [3.0.0,)
                                    </versionRange>
                                    <goals>
                                        <goal>war</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <ignore></ignore>
                                </action>
                            </pluginExecution> -->
0
Alex R

Ma solution est parce que la version de web.xml n’est pas compatible, changez-la de 2.4 à 3.0.

0
Eric