Eclipse: Zależności wyszukiwania Maven nie działają

91

Stworzyłem nowy prosty projekt Maven w nowym Workspace.

Gdy otwieram pom.xml„s Dependencieswidok w edytorze Eclipse, i wybiorę Add..uzależnienia, nie ma żadnych wyników wyszukiwania bez względu na to, czego szukają kryteria wejściowe I w polach wyszukiwania:

Na przykład natychmiast mi daje Results for 'spring' (0).

W moim innym obszarze roboczym, z moimi istniejącymi projektami, nie mam tego problemu.

Czy jest sposób, aby to naprawić?

Majid Laissi
źródło
3
Myślę, że jest rozwiązanie w następującym linku: stackoverflow.com/questions/7065478/classic-error-unable-to-update-index-for-centralhttp-repo1-maven-org-maven2 [1]: stackoverflow.com/questions/ 7065478 /…
Eric Wang

Odpowiedzi:

187

Wyszukiwanie artefaktów Eclipse zależy od pliku indeksu repozytorium. Wygląda na to, że nie pobrałeś pliku indeksu.

Idź do Window -> Prefrences -> Maven i zaznacz "Download repository index updates on start" . Uruchom ponownie Eclipse, a następnie spójrz na widok postępu. Powinien zostać pobrany plik indeksu.

Po całkowitym pobraniu wyszukiwanie artefaktów będzie gotowe do użycia.

Ustawienia Maven

AKTUALIZACJA Musisz także odbudować indeks repozytorium Maven w „widoku repozytorium Maven”.

W tym widoku otwórz „Repozytoria globalne”, kliknij prawym przyciskiem „centralne”, zaznacz „Włącz pełny indeks”, a następnie kliknij „Odbuduj indeks” w tym samym menu.

Zostanie pobrany plik indeksu 66M.

Repozytoria Maven -> Odbuduj indeks

Xiujun Ma
źródło
4
Okno-> Preferencje-> Maven
McLovin
5
aktualizacja repozytorium przy ponownym uruchomieniu zajmuje cholernie dużo czasu, nie wiem, czy się kończy, czy też nie, jakaś alternatywa?
Vasanth Nag KV
5

W swoim zaćmieniu przejdź do Windows -> Preferencje -> Maven Preferences Maven Screenshot Zaznacz opcję „Pobierz aktualizacje indeksu repozytorium przy starcie”. Możesz ponownie uruchomić zaćmienie.

Idź także do Windows -> Pokaż widok -> Inne -> Maven -> Repozytoria Maven Maven Repository View Screenshot

W panelu repozytoriów Maven rozwiń Repozytoria globalne, a następnie kliknij prawym przyciskiem myszy repozytoria centralne i zaznacz opcję Włącz pełny indeks” , a następnie kliknij „Odbuduj indeks” .

Pełny zrzut ekranu indeksu

Hetal Rachh
źródło
1
W jaki sposób twoja odpowiedź cokolwiek dodaje do poprzednio zaakceptowanej odpowiedzi przez Xiujun Ma? To tak, jakbyś skopiował tę odpowiedź, ale przeredagował ją. Nawet zrzuty ekranu w Twojej odpowiedzi są prawie identyczne jak te z zaakceptowanej odpowiedzi!
skomisa 26.07.18
@skomisa W ogóle nie skopiowałem odpowiedzi. Odpowiedziałem na to, kiedy faktycznie miałem do czynienia z tym problemem. Również odciski ekranu są z mojej pracy. Kopiowanie i wklejanie odpowiedzi nie ma sensu w przypadku przepełnienia stosu. A gdybym to skopiował, wklej, odpowiedziałbym już na tysiące pytań, na które jeszcze nie mam.
Hetal Rachh
1
OK, ale Twoja odpowiedź to tylko powtórzenie informacji podanych w zaakceptowanej odpowiedzi.
skomisa 26.07.18
4

Możesz uzyskać ten wynik, jeśli jesteś wewnątrz korporacyjnego serwera proxy, a nowy projekt nie wskazuje prawidłowego pliku settings.xml z poświadczeniami serwera proxy.

Możesz to również uzyskać, jeśli używasz serwera proxy Maven (na przykład Nexus), a indeks w proxy jest w jakiś sposób pomieszany. Nie wiem, jak opisać, jak to naprawić. Wygłupiaj się z tym lub zadzwoń do tego, który ustawił proxy Maven.

Możesz to również uzyskać, jeśli nowy obszar roboczy nie pobrał jeszcze indeksu ani z centrali Maven, ani z serwera proxy. (To jest najlepsze, ponieważ wystarczy chwilę poczekać, a wszystko się ułoży).

Lee Meador
źródło
w rzeczywistości mam otwarte dwa obszary robocze (w dwóch różnych zaćmieniach), w jednym z nich działa, a w drugim nie, więc nie może to być problem z serwerem proxy lub połączeniem internetowym. I nie ma pliku setting.xml w żadnym z obszarów roboczych. Myślę, że możesz mieć rację co do pobranego indeksu, ale nie wiem, jak go pobrać (mam ten problem od wczoraj, więc nie ma sensu czekać)
Majid Laissi
1
Używam MyEclipse i preferencje mogą być inne niż Twoje. Ale mam przycisk, do którego dostajesz się za pomocą okna> preferencje> MyEclipse> Maven4MyEclipse> Ustawienia użytkownika. Przycisk jest oznaczony jako „Ponownie zindeksuj” i jeśli go klikniesz, może to pomóc. Zdjęcie i więcej informacji tutaj: (kliknij)
Lee Meador
BTW - settings.xml to plik znajdujący się w folderze .m2 w folderze użytkownika. (Windows 7 to c: \ Users \ YourName \ .m2, Linux to ~ / .m2) i może przechowywać globalne informacje dla wielu obszarów roboczych. Ta sama strona preferencji pozwala ją wybrać.
Lee Meador
Dziękuję za Twój czas. Próbowałem tego bez powodzenia, ale Reindex reindeksowałby tylko moje lokalne repozytorium Mavena (biblioteki, które już mam)? A dla pliku settings.xml nie istnieje w żadnym obszarze roboczym (preferencje Eclipse / ustawienia użytkownika odnoszą się C:\Users\XX\.m2\settings.xmli mówi User settings file doesn't exist) i to samo dotyczy obu obszarów roboczych, więc myślę, że to nie jest ważne.
Majid Laissi
info http://maven.apache.org/settings.html na temat zawartości pliku. Dopóki nie ma proxy, żadnych haseł i wszystko, czego potrzebujesz, znajduje się w Maven Central, możesz obejść się bez niego.
Lee Meador
4

U mnie w tym problemie działało:

  • usuń ~ / .m2
  • włącz „Pełny indeks włączony” w widoku repozytorium maven w centralnym repozytorium
  • „Odbuduj indeks” w centralnym repozytorium Maven

Po ponownym uruchomieniu zaćmienia wszystko działało dobrze.

Pavel
źródło
3

Zależność dodawania mavena pochodzi w rzeczywistości z indeksów maven. Jeśli indeksy są aktualne, wynik powinien pochodzić z tego miejsca.

Jeśli przejdziesz do repozytorium maven, a następnie wybierzesz repozytorium globalne, powinieneś zobaczyć centralną kartę ... i wybierz ją, powinna być lista folderów i powinieneś być w stanie zobaczyć wszystkie indeksy stamtąd. Jeśli nie, oznacza to, że nie masz pełnego indeksu, możesz kliknąć prawym przyciskiem myszy i włączyć pełny indeks.

Inną rzeczą, która najbardziej mnie zirytowała, jest to, że nawet zrobiłem wszystko, nadal nic nie pokazuje, kiedy piszę „wiosna”. To jest właściwie miejsce, w którym zrobiłem źle. Jeśli po prostu wpiszesz jakiś dodatkowy tekst „springframework”, BOOM, wynik jest dostępny.

Tian Hu
źródło
1

Mam ten sam problem. Żadna z sugerowanych powyżej opcji nie działała dla mnie. Jednak stwierdzam, że jeśli pozwolę sobie ręcznie dodać identyfikator grupy / artefakty / wersję dla wersji org.springframework.spring-core 4.3.4.RELEASE i zapisać plik pom.xml, zależności zostaną pobrane automatycznie i wyszukiwanie będzie działać dla już istniejących słoików w repozytorium. Jeśli jednak teraz wyszukam org.springframework.spring-context, którego nie ma w obecnych zależnościach, to wyszukiwanie nadal nie działa.

arpi
źródło
0

Użyj https://search.maven.org/ ręcznie z przedrostkiem fc:, aby wyszukać nazwy klas. Zarówno Netbeans, jak i Eclipse wydają się być zbyt głupie, aby korzystać z tego interfejsu wyszukiwania, a gigabajty pobranych indeksów repozytoriów wydają się nie zawierać żadnych informacji o klasach. Całkowita strata miejsca na dysku. Te projekty IDE są ostatnio tak źle utrzymywane, że chciałbym, aby przenieśli programowanie do GitHub.

user1050755
źródło
0

Aby pobrać potrzebny plik jar, konieczne jest podanie identyfikatora grupy i identyfikatora artefaktu. Jeśli chcesz go przeszukać, użyj *, * dla tych pól.

Sati
źródło