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ć?


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


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


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).


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.


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.


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.


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.


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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.