Eclipse: Maven-Suchabhängigkeiten funktionieren nicht


91

Ich habe ein neues einfaches Maven-Projekt in einem neuen Arbeitsbereich erstellt.

Als ich das öffnen pom.xmls‘ DependenciesAnsicht in Eclipse - Editor, und ich wähle Add..Abhängigkeit, gibt es keine Ergebnisse Suche egal , was in den Suchfeldern Kriterien I - Eingang zu suchen:

Es gibt mir zum Beispiel sofort Results for 'spring' (0).

In meinem anderen Arbeitsbereich habe ich mit meinen vorhandenen Projekten dieses Problem nicht.

Gibt es eine Möglichkeit, das zu beheben?


3
Ich glaube, es gibt eine Lösung in folgendem Link: stackoverflow.com/questions/7065478/classic-error-unable-to-update-index-for-centralhttp-repo1-maven-org-maven2 [1]: stackoverflow.com/questions/ 7065478 /…
Eric Wang

Antworten:


187

Die Suche nach Eclipse-Artefakten hängt von der Indexdatei des Repositorys ab. Anscheinend haben Sie die Indexdatei nicht heruntergeladen.

Gehen Sie zu Fenster -> Einstellungen -> Maven und aktivieren Sie "Repository-Index-Updates beim Start herunterladen" . Starten Sie Eclipse neu und sehen Sie sich dann die Fortschrittsansicht an. Eine Indexdatei sollte heruntergeladen werden.

Nach dem vollständigen Herunterladen kann die Artefaktsuche verwendet werden.

Maven-Einstellungen

UPDATE Sie müssen auch Ihren Maven-Repository-Index in der 'Maven-Repository-Ansicht' neu erstellen.

Öffnen Sie in dieser Ansicht "Globale Repositorys", klicken Sie mit der rechten Maustaste auf "Zentral", aktivieren Sie "Vollständiger Index aktivieren" und klicken Sie dann im selben Menü auf "Index neu erstellen".

Eine 66M-Indexdatei wird heruntergeladen.

Maven Repositories -> Index neu erstellen


4
Fenster-> Einstellungen-> Maven
McLovin

5
Das Repository-Update beim Neustart nimmt verdammt viel Zeit in Anspruch. Sie wissen nicht, ob es abgeschlossen ist oder nicht. Gibt es eine Alternative?
Vasanth Nag KV

5

Gehen Sie in Ihrer Eclipse zu Windows -> Einstellungen -> Maven. Einstellungen Maven Screenshot Aktivieren Sie die Option "Repository-Index-Updates beim Start herunterladen". Möglicherweise möchten Sie die Sonnenfinsternis neu starten.

Gehen Sie auch zu Windows -> Ansicht anzeigen -> Andere -> Maven -> Maven-Repositorys Maven Repository Screenshot anzeigen

Erweitern Sie im Bereich Maven-Repositorys die Option Globale Repositorys erweitern, klicken Sie mit der rechten Maustaste auf Zentrale Repositorys, aktivieren Sie die Option "Vollständiger Index aktiviert" und klicken Sie dann auf "Index neu erstellen" .

Vollständiger Index-Screenshot


1
Wie fügt Ihre Antwort der zuvor akzeptierten Antwort von Xiujun Ma überhaupt etwas hinzu? Es ist, als hätten Sie diese Antwort kopiert, aber umformuliert. Sogar die Screenshots in Ihrer Antwort sind fast identisch mit denen für die akzeptierte Antwort!
Skomisa

@skomisa Ich habe die Antwort überhaupt nicht kopiert. Ich habe darauf geantwortet, als ich tatsächlich mit diesem Problem konfrontiert war. Auch die Siebdrucke stammen aus meiner Arbeit. Das Kopieren und Einfügen von Antworten ist beim Stackoverflow nicht sinnvoll. Und wenn ich es kopieren und einfügen würde, hätte ich inzwischen Tausende von Fragen beantwortet, die ich noch nicht beantwortet habe.
Hetal Rachh

1
OK, aber Ihre Antwort wiederholt nur die Informationen, die in der akzeptierten Antwort angegeben wurden.
Skomisa

4

Sie können dieses Ergebnis erhalten, wenn Sie sich in einem Unternehmensproxy befinden und das neue Projekt nicht auf die richtige Datei settings.xml mit den Proxy-Anmeldeinformationen verweist.

Sie können dies auch erhalten, wenn Sie einen Maven-Proxy verwenden (z. B. Nexus) und der Index im Proxy irgendwie durcheinander ist. Ich weiß nicht, wie ich das beheben kann. Machen Sie sich damit lustig oder rufen Sie denjenigen an, der den Maven-Proxy eingerichtet hat.

Sie können dies auch erhalten, wenn der neue Arbeitsbereich den Index noch nicht von Maven Central oder vom Proxy heruntergeladen hat. (Dies ist das beste, da Sie nur eine Weile warten müssen und es von selbst klappt.)


Eigentlich habe ich die beiden Arbeitsbereiche geöffnet (in zwei verschiedenen Finsternissen), in einem funktioniert es und nicht im anderen, so dass es kein Proxy- oder Internetverbindungsproblem sein kann. Und es gibt keine setting.xml Datei in keinem der beiden Arbeitsbereiche .. Ich glaube , Sie könnten Recht , über die heruntergeladenen Index sein, aber ich weiß nicht , wie es zum Download (ich habe seit gestern das Problem wurde, um es nutzlos ist , zu warten)
Majid Laissi

1
Ich verwende MyEclipse und die Einstellungen können von Ihren abweichen. Aber ich habe eine Schaltfläche mit Fenster> Einstellungen> MyEclipse> Maven4MyEclipse> Benutzereinstellungen. Die Schaltfläche trägt die Bezeichnung "Neu indizieren". Wenn Sie darauf klicken, kann dies hilfreich sein. Es gibt ein Bild und weitere Informationen hier: (klicken)
Lee Meador

Übrigens - settings.xml ist eine Datei, die sich im Ordner .m2 in Ihrem Benutzerordner befindet. (Windows 7 ist c: \ Users \ YourName \ .m2, Linux ist ~ / .m2) und kann globale Informationen für mehrere Arbeitsbereiche enthalten. Auf derselben Einstellungsseite können Sie sie auswählen.
Lee Meador

Vielen Dank für Ihre Zeit. Ich habe das ohne Glück versucht, aber Reindex würde nur mein lokales Maven-Repository neu indizieren (Bibliotheken, die ich bereits habe)? Und für die Datei settings.xml ist sie weder in einem Arbeitsbereich vorhanden (Eclipse-Einstellungen / Benutzereinstellungen verweisen C:\Users\XX\.m2\settings.xmlund sagt User settings file doesn't exist), noch ist sie für beide Arbeitsbereiche gleich, daher ist sie vermutlich nicht wichtig.
Majid Laissi

Infos http://maven.apache.org/settings.html zu den Inhalten der Datei. Solange sich in Maven Central kein Proxy, keine Passwörter und alles, was Sie brauchen, befindet, können Sie ohne eines auskommen.
Lee Meador

4

Für mich hat für diese Ausgabe gearbeitet:

  • entferne ~ / .m2
  • Aktivieren Sie "Vollständiger Index aktiviert" in der Maven-Repository-Ansicht im zentralen Repository
  • "Index neu erstellen" im zentralen Maven-Repository

Nach dem Neustart von Eclipse hat alles gut funktioniert.


3

Die Maven-Add-Abhängigkeit stammt tatsächlich aus den Maven-Indizes. Wenn die Indizes aktuell sind, sollte das Ergebnis von dort stammen.

Wenn Sie zum Maven-Repository gehen und dann das globale Repository auswählen, sollte eine zentrale Registerkarte angezeigt werden. Wählen Sie diese aus, es sollte eine Liste von Ordnern vorhanden sein und Sie sollten in der Lage sein, alle Indizes von dort aus anzuzeigen. Wenn nicht, bedeutet dies, dass Sie nicht den vollständigen Index erhalten haben. Dann können Sie mit der rechten Maustaste darauf klicken und den vollständigen Index aktivieren.

Eine andere Sache, die mich am meisten geärgert hat, ist, dass ich sogar alles getan habe, es zeigt immer noch nichts, wenn ich "Frühling" tippe. Hier habe ich tatsächlich falsch gemacht. Wenn Sie nur einen zusätzlichen Text "springframework", BOOM, eingeben, ist das Ergebnis da.


1

Ich habe das gleiche Problem. Keine der oben vorgeschlagenen Optionen hat bei mir funktioniert. Ich stelle jedoch fest, dass, wenn ich beispielsweise die Gruppen-ID / Artefakt / Version für org.springframework.spring-core Version 4.3.4.RELEASE manuell hinzufügen und die Datei pom.xml speichern möchte, die Abhängigkeiten automatisch heruntergeladen werden und die Suche nach den bereits vorhandenen Gläsern funktioniert im Repository. Wenn ich jetzt jedoch nach org.springframework.spring-context suche, was nicht in den aktuellen Abhängigkeiten enthalten ist, funktioniert diese Suche immer noch nicht.


0

Verwenden Sie https://search.maven.org/ manuell mit dem Präfix fc:, um nach Klassennamen zu suchen. Sowohl Netbeans als auch Eclipse scheinen zu dumm zu sein, um diese Suchoberfläche zu verwenden, und die Gigabyte der heruntergeladenen Repository-Indizes scheinen keine Klasseninformationen zu enthalten. Gesamtverschwendung von Speicherplatz. Diese IDE-Projekte werden in letzter Zeit so schlecht gewartet, dass ich mir wünsche, sie würden die Entwicklung auf GitHub verlagern.


0

Zum Herunterladen der benötigten JAR-Datei müssen die Gruppen-ID und die Artefakt-ID angegeben werden. Wenn Sie danach suchen möchten, verwenden Sie einfach *, * für diese Felder.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.