m2eclipse dit "artefact Manquant" mais je peux construire à partir de cmdline!

j'essaie d'utiliser ce plugin Eclipse Sonatype pour la première fois pour gérer un logiciel existant (énorme) que je peux construire avec maven en ligne de commande.

j'ai configuré le plugin pour utiliser mon installation maven 2.2.1 au lieu du Maven 3 intégré.

Dans Eclipse, j'ai 25 projets (chargé par la racine pom.xml) et 4 d'entre eux ont des erreurs de compilation; la console maven contient beaucoup de lignes comme celle-ci:

artefact Manquant commons-logging: commons-logging:jar: 1.0.4: compiler

j'ai correctement défini tous les jars de mon dépôt et la variable classpath M2_REPO. Pourquoi le plugin ne voit pas tous les pots?

le .le fichier classpath de ces projets fait simplement référence à "MAVEN2_CLASSPATH_CONTAINER", il n'y a pas de liste des jarres. POM.xml dans Eclipse montre une erreur sur la première ligne pour les pots, mais je peux construire à partir de la ligne de commande!

une idée? J'ai besoin d'aide! Je je vais essayer de passer à NetBeans si Je ne résous pas ce problème.

je vous Remercie.

23
demandé sur Pino 2011-03-31 17:21:58

13 réponses

vous pourriez avoir besoin de dire à Eclipse de forcer la mise à jour:

Project -> Maven -> Update Maven Project

et puis assurez-vous que vous avez sélectionné:

Force Updates of Snapshots/Releases

cela se produit lorsque mvn installe des copies de fichiers jar dans Maven repository et Qu'Eclipse a vérifié cette réponse avant que ce jar n'y ait été copié.

11
répondu Damian 2014-12-03 11:05:16

si la gestion des dépendances est activée lorsque les problèmes ci-dessus se produisent dans Eclipse, vous pouvez Project > Maven > Disable Dependency Management and then \Project > Maven > Enable Dependency Management. Cela supprime normalement toute erreur de dépendance dans la pom.XML.

faites aussi comme @Nishant l'a indiqué dans sa réponse ci-dessus après les étapes ci-dessus pour compléter les dépendances de projets.

7
répondu Jurie 2011-06-16 17:17:05

right click on your project > Maven > Update Dependencies

right click on your project > Maven > Update Project configuration

en supposant que votre plugin M2Eclipse est installé correctement, cela devrait résoudre le problème. Aussi, Vérifiez s'il y a une option right click project > Maven > Enable dependency Management sélectionner.

5
répondu Nishant 2011-03-31 13:31:29

en utilisant Eclipse Kepler, la suppression et ré-ajout de la nature maven corrigé ce même problème que j'avais. Ce que ce processus a réellement fait était de modifier le .paramètres/org.Eclipse.m2e.noyau.préf. de fichier, changer la ligne

resolveWorkspaceProjects=false

resolveWorkspaceProjects=true

donc vous pourriez probablement faire ce changement manuellement si vous le deviez.

2
répondu cyberconte 2014-01-13 23:36:50

ajouter mon 2c pour les futurs Googleurs:

a chaque fois que ce problème apparaît, je supprime le dossier correspondant du dépôt m2 (sur un mac c'est sur ~/.m2/repository) et de construire à nouveau à partir d'eclipse.clean install.

Fonctionne à chaque fois.

2
répondu Ariel T 2014-04-03 18:40:42

Fermer eclipse IDE et l'ouvrir à nouveau, ce problème devrait être corrigé.

1
répondu balaji swaroop 2011-07-29 12:24:28

juste pour ajouter encore une autre résolution possible, si vous avez une construction multi-projets avec des interdépendances, si vous avez un dépôt défini dans un projet enfant pom pour résoudre une dépendance spécifique dont seul ce projet dépend et qu'il s'appuie sur un projet participant pour ses autres résolutions il ne voit pas ces dépendances dans le projet enfant (même si cela fonctionne à partir de la ligne de commande).

déplacer la définition repo vers la pom mère.

1
répondu codeghost 2012-08-17 10:21:54

l'absence de bocaux dans le chemin de compilation suggère que vous n'avez pas activé les dépendances Maven. Cliquez avec le bouton droit de la souris sur le projet, sélectionnez Maven, sélectionnez "Enable Maven Dependency Management". Cela permet à M2Eclipse de faire référence à votre POM.

0
répondu TrueDub 2011-03-31 13:28:14

j'ai finalement trouvé une solution. C'est sûrement un bug dans m2eclipse, cependant, le problème a disparu quand j'ai ajouté quartz-1.6.0.pomquartz-1.6.0.jar.m2\repository\opensymphony\quartz.6.0\

La pom n'est pas présent à http://repo1.maven.org/maven2/opensymphony/quartz/1.6.0/ mais vous pouvez les extraire à partir de quartz-1.6.0-bundle.jar linket à http://jira.opensymphony.com/browse/QUARTZ-482

C'est une solution étrange, mais ça a fonctionné sur les ordinateurs de mes collègues aussi.

0
répondu Pino 2011-04-07 15:07:36

aucune des autres suggestions n'a fonctionné, mais les étapes suivantes ont fonctionné pour moi (SpringSource Tool Suite 2.6.1):

  • sauvegarder le contenu du dépôt local Maven
  • supprimer le dépôt
  • Projet Maven > Mise À Jour Des Dépendances
  • remplacer tout ce qui n'est pas disponible dans un dépôt public à partir de la sauvegarde
0
répondu lucrussell 2011-08-26 06:54:48

si désactiver et activer la gestion des dépendances de projet n'aide pas (Généralement cela aide), vous pouvez modifier .classpath de fichier dans votre projet et ajouter une ligne:

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>

après l'éclipse, les dépendances de redémarrage doivent être ajoutées.

0
répondu vinga 2012-02-18 14:25:44

j'ai eu ce même problème qui m'est arrivé. Sur le CLI clean install, puis sur eclipse supprimez la dépendance, collez-la encore et ça a fait l'affaire.

0
répondu Michael Lasso 2016-06-23 18:20:59

supprimer tous les artefacts sauf le pot dans le dépôt local de maven

0
répondu Harriesh Gomahan 2017-04-02 12:46:31