Wir haben ein Projekt mit maven zur Lösung von Abhängigkeiten eingerichtet. Normalerweise funktioniert es gut, aber jetzt versuche ich, es auf einem neuen PC zu kompilieren und auszuführen, und ich habe Probleme mit fehlenden Abhängigkeiten in Eclipse.
Was lustig ist, ist, dass wenn ich "mvn package" in der Konsole oder in Eclipse starte, es gut funktioniert und sogar Krieg erzeugt, der alle notwendigen Gläser enthält. Nur Eclipse beschwert sich mit "Das Projekt wurde nicht erstellt, da sein Erstellungspfad unvollständig ist. Die Klassendatei für org.slf4j.Logger kann nicht gefunden werden ...". Wenn ich das Projekt mit einem anderen Computer vergleiche (auf dem das Projekt einwandfrei funktioniert), stelle ich fest, dass in der Liste "Maven-Abhängigkeiten" in Eclipse einige Bibliotheken fehlen. Obwohl sie sich im Krieg befinden und sich auch im Repository-Ordner befinden.
Die Jars sind also da, nur Eclipse listet sie nicht alle unter "Maven-Abhängigkeiten" auf. Was kann ich tun?
Der Computer läuft unter Windows 7 mit 64-Bit-Java und Eclipse.
Antworten:
Nun, ich habe alles versucht, was hier gepostet wurde, leider funktioniert in meinem Fall nichts. Als ich verschiedene Kombinationen ausprobierte, kam ich mit dieser heraus, die mein Problem löste.
1) Öffnen Sie die .classpath- Datei im Stammverzeichnis Ihres Eclipse-Projekts.
2) Fügen Sie den folgenden Eintrag in die Datei ein:
Erstellen Sie dann Ihr Projekt bei Eclipse neu (Projekt-> Clean-Build). Sie können jetzt im Java-Erstellungspfad Ihres Projekts auf der Registerkarte Bibliotheken die enthaltenen Maven-Abhängigkeiten überprüfen:
quelle
Problem gelöst!
Ich weiß nicht genau, was es gelöst hat, aber ich habe 4 Dinge in Eclipse getan:
Ich denke, es waren die Update-Abhängigkeiten, da direkt nach den ersten beiden keine Änderungen vorgenommen wurden.
quelle
Ich bin auch neu in Eclipse und habe ein ähnliches Problem, bei dem Eclipse eine Importanweisung einfach nicht erkennt, obwohl alle Anzeichen darauf hinweisen, dass die Abhängigkeit erfolgreich heruntergeladen wurde.
Sie sollten überprüfen, ob Ihre Abhängigkeitsdatei tatsächlich heruntergeladen wurde, indem Sie in die Befehlszeile gehen und eingeben
mvn dependency:tree
Wenn Sie Ihr Paket dort sehen, aber Eclipse es nicht bestätigt, funktioniert es (manchmal) für mich, zum Terminal zu gehen, eine CD in den Projektordner zu schreiben und einzugeben
mvn eclipse:clean
dannmvn eclipse:eclipse
Aktualisieren Sie schließlich das Projekt in Eclipse
Ich weiß nicht, warum das funktioniert, und manchmal funktioniert es nicht einmal, dann funktioniert es wieder ... also einen Versuch wert!
quelle
Mein Projekt wurde nur vermasselt. So habe ich es für Eclipse Indigo x64 (J2EE 3.7.3) behoben:
Hoffe das hilft jemandem. :) :)
quelle
mvn eclipse:eclipse
die einfach schrecklich ist.<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>antlr.tuto.calco</groupId> <artifactId>CalculatriceAntlr</artifactId> <version>0.0.1-SNAPSHOT</version> </project>
Ich hatte dieses Problem für Abhängigkeiten, die in anderen Projekten erstellt wurden. Heruntergeladene Abhängigkeiten von Drittanbietern wurden im Erstellungspfad angezeigt, jedoch nicht in einer von mir erstellten Bibliothek.
SOLUTION:
In dem Projekt, das nicht richtig erstellt wird,Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie Eigenschaften und dann Maven.
Deaktivieren Sie das Kontrollkästchen " Abhängigkeiten von Workspace-Projekten auflösen ".
Klicken Sie auf Übernehmen und dann auf OK.
Klicken Sie erneut mit der rechten Maustaste auf Ihr Projekt und führen Sie einen Maven-> Update-Snapshots (oder Update-Abhängigkeiten) durch.
Und Ihre Fehler sollten verschwinden, wenn Ihr Projekt neu erstellt wird (automatisch, wenn Sie die automatische Erstellung aktiviert haben).
quelle
Nun, ich habe alles versucht, was hier gepostet wurde, leider funktioniert in meinem Fall nichts. Als ich verschiedene Kombinationen ausprobierte, kam ich mit dieser heraus, die mein Problem löste.
1) Öffnen Sie die .classpath- Datei im Stammverzeichnis Ihres Eclipse-Projekts.
2) Fügen Sie den folgenden Eintrag in die Datei ein:
Erstellen Sie dann Ihr Projekt bei Eclipse neu (Projekt-> Clean-Build).
quelle
Nur für den Fall, dass jemand alle anderen Optionen ausprobiert hat und Sie immer noch nicht weiterkommen, klicken Sie mit der rechten Maustaste auf den Projektordner, gehen Sie zur Option Maven und klicken Sie auf die Schaltfläche "Abhängigkeit hinzufügen". Aus irgendeinem Grund aktualisiert Eclipse die Abhängigkeiten beim ersten Versuch nicht manuell aus der Datei pom.xml .
quelle
Ich hatte ein ähnliches Problem. Ich löste es durch die Lauf Maven-> Update Projektkonfiguration Aktion
quelle
Für mich war das Problem, dass maven die Datei settings.xml in myMavenFolder \ conf nicht finden konnte .
Um das Problem zu beheben, habe ich in Eclipse den richtigen Speicherort für die Datei settings.xml ausgewählt:
Fenster -> Einstellungen -> Maven -> Benutzereinstellungen
Klicken Sie abschließend auf Übernehmen und aktualisieren Sie Ihr Projekt
quelle
Ich bin also ungefähr 4 oder 5 Jahre zu spät zu dieser Party, aber ich hatte dieses Problem, nachdem ich aus unserem Repo gezogen hatte, und keine der anderen Lösungen aus diesem Thread hat in meinem Fall funktioniert, um diese Warnungen / Fehler zu beseitigen.
Das hat bei mir funktioniert:
Gehen Sie von Eclipse zu Fenster -> Einstellungen -> Maven (erweitern) -> Fehler / Warnungen. Die letzte Option lautet "Plugin-Ausführung wird nicht von der Lebenszykluskonfiguration abgedeckt". Verwenden Sie das Dropdown-Menü für diese Option und schalten Sie "Ignorieren", dann "Übernehmen" und dann "OK" um. (Bei der Aufforderung "Aktualisierung von Maven-Projekten erforderlich" sagen Sie "OK").
Weitere Informationen:
Dies muss möglicherweise nicht unbedingt die zugrunde liegenden Probleme "beheben" und wird von einigen möglicherweise nicht als "Best Practice" eingestuft. Diese Warnungen sollten jedoch entfernt / unterdrückt werden, damit sie nicht in Eclipse angezeigt werden, und Sie können zumindest vorwärts gehen. Insbesondere habe ich mit Eclipse Luna Service Release 1 (4.4.1) mit Spring Dashboard und Spring IDE Core (3.6.3) gearbeitet und m2e (1.5) unter Arch Linux und OpenJDK 1.7 installiert. Ich habe mein Projekt als vorhandenes Maven-Projekt importiert und OK ausgewählt, wenn ich vor vorhandenen Warnungen / Fehlern gewarnt wurde (um sie später zu behandeln).
(Entschuldigung, ich bin kein Designer, habe aber der Übersichtlichkeit halber ein Bild hinzugefügt.)
quelle
Für die folgenden Schritte hat in meinem Fall gearbeitet:
1 Klicken Sie bei Eclipse mit der rechten Maustaste auf das gewünschte Projekt Maven -> Maven Nature deaktivieren
2 Klicken Sie erneut mit der rechten Maustaste und gehen Sie zu Eigenschaften . Löschen Sie alle Hinweise auf eine externe Maven-Abhängigkeit, und lassen Sie nur die JRE-Systembibliothek übrig.
3 Klicken Sie noch einmal mit der rechten Maustaste auf das Projekt und gehen Sie dann zu Konfigurieren -> In Maven-Projekt konvertieren
quelle
Keine der oben genannten Lösungen hat für mich funktioniert, daher ist diese Antwort für alle anderen in meiner Situation. Ich fand das Problem schließlich selbst und eine andere Lösung. Die Datei pom.xml enthielt ein dependencyManagement-Tag, das die Abhängigkeiten umhüllte, und M2Eclipse fügte den Ordner Maven Dependencies nicht hinzu, wenn dies vorhanden war. Also entfernte ich dieses Tag, führte dann die von Ualter Jr. angebotene Lösung aus und Eclipse fügte sofort den fehlenden Ordner hinzu!
quelle
Hier sind die Schritte, denen ich gefolgt bin.
1. Maven-Projekt aus Eclipse gelöscht.
2. Löschte alle Dateien (.setting / .classpath / target) außer src und pom aus meinem Quellordner .
3. erneut als Maven-Projekt importiert
4. erneut erstellen, Sie sollten in der Lage sein, Maven-Abhängigkeiten zu sehen.
quelle
Meine Antwort ähnelt der von @JerylCook: Suchen Sie eine andere
.classpath
Datei in einem funktionierenden Maven-Projekt und bearbeiten Sie Ihre schlechten als die guten funktionierenden. Der Schlüssel ist hinzuzufügenin jedem
<classpathentry>
Typcon
undsrc
. Vergessen Sie nicht , sich ändern<classpathentry .... />
zu<classpathentry ...>xxx</classpathentry>
.Aktualisieren Sie zuletzt das Maven-Projekt und installieren / erstellen Sie es in Maven neu.
quelle
Wenn nach dem Ausführen von Maven -> Update Project Configuration (oder in Juno "Update Configuration ...") Fehler "verschachtelte Pfade" auftreten, ist Ihr Erstellungspfad falsch konfiguriert.
Klicken Sie mit der rechten Maustaste auf Projekt -> Erstellungspfad -> Erstellungspfad konfigurieren
Stellen Sie sicher, dass nur '/ src' und Verzeichnisse auf dieser Ebene enthalten sind. Wenn Sie zB '/ src' und auch '/ src / main / resources' haben, ist dies falsch. Die zweite Ressource ('/ src / main / resources') ist unter der ersten ('/ src') "verschachtelt", was dazu führt, dass Sie keine Ressourcen importieren können, da Eclipse keine Maven-Abhängigkeiten erkennt.
quelle
Mein Problem klingt ähnlich, daher werde ich die Diskussion ergänzen. Ich hatte den Import eines vorhandenen Maven-Projekts in Eclipse abgebrochen, was dazu führte, dass es nicht aktualisiert werden durfte und das Work Space-Gebäude nicht ordnungsgemäß fertiggestellt wurde.
Was ich tun musste, um das Problem zu beheben, war Auswahl
Run As... -> Maven build...
und unter Ziele, die ich eingegeben habedependency:go-offline
und ausgeführt.Dann habe ich mit der rechten Maustaste auf das Projekt geklickt
Maven -> Update Project...
und dieses bestimmte Projekt ausgewählt und aktualisiert.Dadurch konnte es schließlich die Quellordner erstellen und den Import beenden.
quelle
Ich könnte den Fehler beheben durch 1) Rechtsklick (Ihr Maven-Projekt) -> Maven -> Maven installieren
Nach erfolgreicher Installation
2) Klicken Sie mit der rechten Maustaste (Ihr Maven-Projekt) -> Maven -> Projekt aktualisieren. Und der ganze Fehler von Maven wurde gelöst!
quelle
Für mich war es ausreichend, einen buildCommand (org.eclipse.m2e.core.maven2Builder) und eine Natur (org.eclipse.m2e.core.maven2Nature) wie folgt in die .project-Datei einzufügen:
und ich hatte
quelle
So habe ich es gelöst
Jetzt neu erstellen und die neuesten JARs am richtigen Speicherort installieren.
quelle
Ich hatte ein ähnliches Problem und habe alle Antworten in diesem Beitrag ausprobiert. Am nächsten an der Lösung dieses Problems war die Kombination der Lösungen von Joseph Lust und Paul Crease. Ich habe die gesicherte Datei pom.xml nach dem Löschen und erneuten Importieren des Projekts hinzugefügt, und es wurde nichts angezeigt, bis ich das Abhängigkeitsverwaltungs-Tag in der Datei pom.xml gelöscht habe und der Abhängigkeitsordner auf magische Weise vorhanden war.
Die untergeordneten POMs wurden jedoch aufgelöst, da sie das übergeordnete Abhängigkeitsmanagement pom.xml benötigen, um zu funktionieren. Infolgedessen funktionierte mein MVN im Projekt weder über Eclipse noch über die Befehlszeile ordnungsgemäß, was zu einem fehlerhaften pom.xml-Fehler führte.
Die letzte Lösung, wenn alles fehlschlägt, besteht darin, die für Ihr Projekt benötigten JAR-Dateien manuell zu importieren. Klicken Sie mit der rechten Maustaste auf die Projekteigenschaften -> Java-Erstellungspfad -> Bibliotheken und fügen Sie ein externes Jar hinzu.
Wenn Ihr MVN über die Befehlszeile ordnungsgemäß funktioniert und Sie das Projekt erfolgreich erstellt haben, befinden sich alle erforderlichen Repos in Ihrem Ordner .m2 / repository. Wenn Sie alle externen Gläser hinzufügen, die in Ihrem Abhängigkeits-Tag von pom.xml erwähnt sind, wird in Ihrer Eclipse ein Bibliotheksabschnitt angezeigt, auf den verwiesen wird, und alle lästigen roten Fehler sind verschwunden.
Dies ist nicht die optimale Lösung, aber Sie können in Eclipse ohne Fehler fehlender Abhängigkeiten arbeiten und das Maven-Projekt sowohl über Eclipse als auch über die Befehlszeile erstellen.
quelle
Das gleiche Problem ist mir passiert, und es lag daran, dass beim Herunterladen eines JARs aufgrund von Repo-Problemen ein Fehler aufgetreten ist, der durch eine rote Fahne im angezeigt wird
pom.xml
.Ich habe ein weiteres Repository hinzugefügt, damit die rote Fahne im
pom.xml
verschwunden ist und Eclipse den POM erneut geladen, das Problem behoben und die Maven-Abhängigkeiten im Projektexplorer aufgelistet hat. Es klingt einfach und offensichtlich, sichtbare Probleme zu lösen, aber da Eclipse sehr glücklich war, Maven auszuführen und erfolgreich zu erstellen, war es nicht offensichtlich, dass die rote Fahne und das Repo-Problem die Ursache für die mangelnde Bereitschaft waren, den Pom zu analysieren und den Maven aufzulisten Abhängigkeitenquelle
dann von eclipse: "Maven Update Project" macht den Trick!
quelle
Das Aktualisieren des .classpath auf unten funktioniert jedes Mal.
quelle
Maven-Abhängigkeiten: Was hat es für mich in Eclipse gelöst? Ich habe die Abhängigkeit in der "pom" -Datei hinzugefügt. Ich habe einen Build erstellt, konnte aber die Maven-Abhängigkeit in der Eclipse nicht sehen. Nächster Schritt: Schließen Sie das Projekt. Dann öffnete das Projekt erneut. Ich konnte die Maven-Abhängigkeiten sehen.
quelle
Ich habe diesen Fehler erhalten, als ein Fehler in Pom aufgetreten ist.
quelle
mvn eclipse:eclipse
alle Abhängigkeiten zum Klassenpfad im Eclipse-Projekt hinzugefügt, und das Projekt sah gut aus. ++Es ist so erstaunlich, dass dieses eine Problem so viele verschiedene Ursachen und mögliche Lösungen hat. Ich habe noch eine andere Lösung gefunden, die für mich funktioniert hat.
Nun, es ist nicht so sehr eine Lösung, sondern eine Entdeckung: Ich kann den Knoten Maven Dependencies im Paket-Explorer sehen, der die Standardeinstellung für die Java-Perspektive ist, aber ich kann ihn nicht in der Java EE-Perspektive sehen, die den Projekt-Explorer verwendet standardmäßig. Beide Entdecker sehen sich auf den ersten Blick sehr ähnlich, sodass Sie erwarten können, dass die Maven-Abhängigkeiten in beiden angezeigt werden.
Als ich versuchte, das herauszufinden, hatte ich diesen Unterschied nicht bemerkt, also war es am Ende doch kein wirkliches Problem für mich.
quelle
Das ganze Projekt sah in Eclipse seltsam aus, der Ordner mit den Maven-Abhängigkeiten fehlte, es wurden einige Typen als unbekannt angezeigt, aber ich konnte es erfolgreich in Maven erstellen. Was mein Problem behoben hat, war das Hinzufügen des Ordners gen zum Quellpfad im Projekterstellungspfad.
Wahrscheinlich ist dies ähnlich wie dieses Android / FBReaderJ / gen existiert bereits, ist aber kein Quellordner. In einen Quellordner konvertieren oder umbenennen
quelle
Wenn in Eclipse STS "Maven Dependencies" verschwindet, müssen Sie Ihre überprüfen und beheben
pom.xml
. Ich habe das (zweimal) gemacht und es gelöst. Es war kein Problem mit Abhängigkeiten, sondern ein String, der in meiner Position zufällig generiert und verschoben wurdepom.xml
.quelle
Alles oben hat bei mir nicht funktioniert. Denn das Update bestand nur darin, den Repository-Ordner unter .m2 zu löschen und dann ein Maven-Update von Eclipse durchzuführen.
quelle
So viele Antworten. Sie sehen, es kann viele Gründe geben, warum dies nicht wie erwartet funktioniert. In meinem Fall habe ich auch das - Tag um meine Abhängigkeiten nicht erkannt.Gesichtspalme
Beispiel:
Dies definiert nur die Abhängigkeit für dieses und alle Teilprojekte mit der gewünschten Version! So sollte es zB im Master-POM aussehen. Um die Bibliothek in DIESEM aktuellen Projekt wirklich zu verwenden, müssen Sie die Abhängigkeit wie folgt hinzufügen:
JETZT wird es die Bibliothek in DIESEM aktuellen Projekt bereitstellen.
quelle