wake-up-neo.com

m2Eclipse sagt "Fehlendes Artefakt", aber ich kann aus cmdline bauen!

Ich versuche dieses Sonatype Eclipse-Plugin zum ersten Mal zu verwenden, um eine vorhandene (riesige) Software zu handhaben, die ich mit Maven aus der Befehlszeile erstellen kann.

Ich habe das Plugin so konfiguriert, dass es anstelle der eingebauten Maven 3-Installation meine Maven 2.2.1-Installation verwendet.

In Eclipse habe ich 25 Projekte (durch die Root-Datei pom.xml geladen), von denen 4 Kompilierungsfehler haben. Die Maven-Konsole enthält viele Zeilen wie diese:

Fehlende Artefakt-Commons-Protokollierung: Commons-Protokollierung: jar: 1.0.4: kompilieren

Ich habe alle Gläser in meinem Repository und die Klassenpfadvariable M2_REPO korrekt definiert. Warum sieht das Plugin nicht alle Gläser?

Die .classpath-Datei dieser Projekte verweist einfach auf "MAVEN2_CLASSPATH_CONTAINER", es gibt keine Liste der Jars . Die Datei pom.xml in Eclipse zeigt einen Fehler in der ersten Zeile für die fehlenden Jars, aber ich kann den Befehl erstellen Linie!

Irgendeine Idee? Ich brauche Hilfe! Ich werde versuchen, zu NetBeans zu wechseln, wenn ich dieses Problem nicht löse.

Vielen Dank.

23
Pino

Endlich habe ich einen Workaround gefunden. Es ist sicherlich ein Fehler in m2Eclipse, jedoch ist das Problem verschwunden, als ich quartz-1.6.0.pom neben quartz-1.6.0.jar in .m2\repository\opensymphony\quartz\1.6.0\ hinzugefügt habe.
Das Pom ist nicht unter http://repo1.maven.org/maven2/opensymphony/quartz/1.6.0/ vorhanden - Sie können es jedoch aus quartz-1.6.0-bundle.jar linket unter http: // jira extrahieren. opensymphony.com/browse/QUARTZ-482
Es ist eine merkwürdige Lösung, aber es hat auch auf den PCs meiner Kollegen funktioniert.

0
Pino

Möglicherweise müssen Sie Eclipse anweisen, die Aktualisierung zu erzwingen:

Project -> Maven -> Update Maven Project

und stellen Sie dann sicher, dass Sie Folgendes ausgewählt haben:

Force Updates of Snapshots/Releases

dies geschieht, wenn mvn install einige JAR-Dateien in das Maven-Repository kopiert und Eclipse dieses Repo geprüft hat, BEVOR diese JAR dorthin kopiert wurde.

12
Damian

Wenn die Abhängigkeitsverwaltung aktiviert ist, wenn die oben genannten Probleme in Eclipse auftreten, können Sie Project > Maven > Disable Dependency Management and then \Project > Maven > Enable Dependency Management. Dadurch werden normalerweise etwaige Abhängigkeitsfehler in der pom.xml entfernt.

Führen Sie nach den obigen Schritten auch @Nishant aus, um die Abhängigkeiten des Projekts abzuschließen.

7
Jurie

right click on your project > Maven > Update Dependencies 

dann 

right click on your project > Maven > Update Project configuration

Vorausgesetzt, Sie haben das M2Eclipse-Plugin richtig installiert, sollte das Problem behoben sein. Prüfen Sie auch, ob es eine Option right click project > Maven > Enable dependency Management gibt.

5
Nishant

Mit Eclipse Kepler wurde das Problem, das ich hatte, durch das Entfernen und erneute Hinzufügen der Maven-Natur behoben. Dieser Prozess hat tatsächlich die Datei .settings/org.Eclipse.m2e.core.prefs geändert und die Zeile geändert 

resolveWorkspaceProjects=false

zu 

resolveWorkspaceProjects=true

Sie könnten diese Änderung wahrscheinlich manuell vornehmen, wenn Sie müssten.

2
cyberconte

Mein 2c für zukünftige Googler hinzufügen:

Immer wenn dieses Problem auftritt, lösche ich den entsprechenden Ordner aus dem m2-Repository (auf einem Mac ist er auf ~/.m2/repository) und baue mit Eclean install erneut aus Eclipse. 

Funktioniert jedes Mal.

2
Ariel T

Um nur eine weitere mögliche Lösung hinzuzufügen, wenn Sie über ein Multiprojekt mit Abhängigkeiten verfügen, wenn in einem untergeordneten Projekt pom ein Repository definiert ist, um eine bestimmte Abhängigkeit aufzulösen, von der nur dieses Projekt abhängig ist und für die ein partentes Projekt erforderlich ist Bei anderen Auflösungen werden diese Abhängigkeiten im untergeordneten Projekt nicht angezeigt (obwohl dies über die Befehlszeile funktioniert).

Verschieben Sie die Repo-Definition in den übergeordneten Pom.

1
codeghost

Schließen Sie Eclipse IDE und öffnen Sie es erneut. Dieses Problem sollte behoben sein.

1
balaji swaroop

Keiner der anderen Vorschläge hat funktioniert, aber die folgenden Schritte haben bei mir funktioniert (SpringSource Tool Suite 2.6.1)

  • Sichern Sie den Inhalt des lokalen Maven-Repositorys 
  • Löschen Sie das Repository 
  • Projekt> Maven> Update-Abhängigkeiten
  • Ersetzen Sie alles, was nicht in einem öffentlichen Repository verfügbar ist, aus dem Backup
0
lucrussell

Wenn das Deaktivieren und Aktivieren der Projektabhängigkeitsverwaltung nicht hilft (normalerweise hilft es), können Sie die .classpath-Datei in Ihrem Projekt ändern und eine Zeile hinzufügen:

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

Nach dem Neustart von Eclipse sollten Abhängigkeiten hinzugefügt werden.

0
vinga

Das Fehlen von Gläsern im Erstellungspfad weist darauf hin, dass Sie die Abhängigkeiten von Maven nicht aktiviert haben. Klicken Sie mit der rechten Maustaste auf das Projekt, wählen Sie Maven aus, und wählen Sie "Enable Maven Dependency Management" aus. Dadurch kann M2Eclipse auf Ihr POM verweisen.

0
TrueDub

Ich hatte das gleiche Problem, das mir passiert ist. Bei der CLI-Neuinstallation, dann bei Eclipse die Abhängigkeit löschen, erneut einfügen, und das hat den Trick getan.

0
Michael Lasso

Entfernen Sie alle Artefakte mit Ausnahme des Glases im lokalen Repository von maven

0