Jak dodać zależność Mavena w Eclipse?

133

W ogóle nie wiem, jak używać Mavena. Pracowałem nad Eclipse przez kilka lat i jeszcze nie musiałem o tym wiedzieć. Jednak teraz patrzę na niektóre dokumenty, które sugerują, żebym wykonał następujące czynności:

„Aby uwzględnić go w projekcie, po prostu dodaj tę zależność mavena do swojej kompilacji”.

<repository>
   <id>jboss</id>
   <url>http://repository.jboss.org/maven2</url>
</repository>

   ...
<dependency>
   <groupId>org.jboss.resteasy</groupId>
   <artifactId>resteasy-jackson-provider</artifactId>
   <version>1.1.GA</version>
</dependency>

Jak to zrobić z moim projektem Eclipse?

Proszę załóż, że nic nie wiem o Mavenie. Właśnie doszedłem do wniosku, że można go zainstalować na moim komputerze, wpisując mvnw wierszu poleceń, ale to naprawdę zakres mojej wiedzy. Byłbym szczęśliwy, mogąc nadal nic nie wiedzieć o Mavenie, gdyby istniał równoważny, inny niż Maven sposób wykonania tych instrukcji w Eclipse.

Riley Lark
źródło
2
Czy przeczytałeś Przewodnik startowy Mavena: maven.apache.org/guides/getting-started/index.html
Dan W,
4
Odpowiednik inny niż Maven: Znajdź wszystkie potrzebne biblioteki i dodaj je do ścieżki kompilacji projektu (katalog lib). „Wszystkie potrzebne biblioteki” = resteasy-jackson-provider-1.1.GA.jar (2.3.0 to aktualna wersja ...) plus wszystkie zależności. „Wszystkie zależności” są tym, co Maven robi dla Ciebie (w tej sytuacji). Patrząc na to, są to jackson-core-asl, jackson-mapper-asl, jackson-jaxrs, jackson-xc. Naucz się trochę Mavena, jest to absolutnie warte czasu.
Hauke ​​Ingmar Schmidt
Więcej informacji o Maven znajdziesz w przewodniku Maven: The Complete Reference , a także powinieneś rozważyć zainstalowanie wtyczki Eclipse M2E (wcześniej znanej jako m2eclipse).
matsev

Odpowiedzi:

207
  1. Na górnym pasku menu otwórz Okno -> Pokaż widok -> Inne
  2. W oknie Pokaż widok otwórz Maven -> Maven Repositories

    Pokaż widok - repozytoria Maven

  3. W wyświetlonym oknie kliknij prawym przyciskiem myszy Repozytoria globalne i wybierz Przejdź do

  4. Kliknij prawym przyciskiem myszy „ central ( http://repo.maven.apache.org/maven2 ) ” i wybierz „ Odbuduj indeks

    • Pamiętaj, że ukończenie pobierania zajmie trochę czasu
  5. Po zakończeniu indeksowania kliknij prawym przyciskiem myszy projekt -> Maven -> Dodaj zależność i zacznij wpisywać nazwę projektu, który chcesz zaimportować (np. „Hibernacja”).

    • Wyniki wyszukiwania zostaną automatycznie wypełnione w polu „Wyniki wyszukiwania” poniżej.
Oded Breiner
źródło
159
Legenda głosi, że nadal odbudowuje Indeks.
25
Dobra rada: Eclipse (przynajmniej najnowsza wersja z maja 2016 r.) Blokuje się całkowicie podczas odbudowywania centralnego indeksu repozytorium Maven. Status został zablokowany na „0%” przez pięć minut. Nie rób żadnych planów.
Saustrup
7
Cholera, tęsknię<insert-name-of-previously-considered-to-be-worst-package-manager-ever-here>
Mark K Cowan
12
Byłem na tyle głupi, że spróbowałem otworzyć folder centralny ... nie rób tego ...
Nie podobało mi się
15
Uwaga: jeśli to nie był projekt Maven. Przed krokiem 5 należy kliknąć prawym przyciskiem myszy projekt -> konfiguruj -> przekonwertuj na projekt Maven. Wtedy zadziała krok 5.
cliff2310
27

W rzeczywistości po otwarciu pom.xml powinieneś zobaczyć 5 zakładek na dole. Kliknij pom.xml i możesz wpisać dowolne zależności.

wprowadź opis obrazu tutaj

DoraShine
źródło
bardzo mi pomogło. nie zauważył wcześniej 5 zakładek
M. Smith
2
Eclipse nadal nie rozpoznaje zależności z mojego pom.xml w moim kodzie. Kiedy używam IntelliJ, automatycznie je pobiera i konfiguruje do uzupełniania kodu, czy nie robi tego zaćmienie?
Cas Eliëns
Jeśli znasz już szczegóły swojej zależności (identyfikator grupy, identyfikator artefaktu, wersja), jest to znacznie szybsze niż pobieranie z Internetu tylko po to, aby dołączyć je do my-favorite-library.jarprojektu.
Christopher Schultz,
10

Aby zrobić to poprawnie, musisz używać wtyczki Maven dla Eclipse. M2e Wtyczka jest wbudowany w najnowszej wersji Eclipse i robi przyzwoite jeśli nie doskonałą pracę integracji Maven do IDE. Będziesz chciał stworzyć swój projekt jako „Projekt Maven”. Alternatywnie możesz zaimportować istniejący Maven POM do swojego obszaru roboczego, aby automatycznie tworzyć projekty. Gdy już masz projekt Mavena w IDE, po prostu otwórz POM i dodaj do niego swoją zależność.

Teraz, jeśli nie masz wtyczki Maven dla Eclipse, musisz pobrać jar (y) dla danej zależności i ręcznie dodać je jako odniesienia do ścieżki klas do swojego projektu. Może to być nieprzyjemne, ponieważ będziesz potrzebować nie tylko pliku JAR najwyższego poziomu, ale także wszystkich jego zależności.

Zasadniczo polecam zdobyć przyzwoitą wtyczkę Maven do Eclipse i pozwolić jej zająć się zarządzaniem zależnościami za Ciebie.

Postrzeganie
źródło
2
Dziękuję za odpowiedź. Mam już projekt z 1000 plików - czy jest sposób na dodanie obsługi Mavena zamiast zaczynać od zera? Mam najnowszą wersję Eclipse
Riley Lark,
3
W najnowszej wersji Eclipse i m2e możesz kliknąć prawym przyciskiem myszy zwykły projekt Java i włączyć dla niego Zarządzanie zależnościami. Spowoduje to wygenerowanie pliku pom.xml dla projektu, pozostawiając jego strukturę nienaruszoną.
Percepcja
8

Otwórz plik pom.xml.

pod projecttagiem dodaj <dependencies>jako kolejny tag i wygoogluj zależności Mavena. Użyłem tego do wyszukiwania.

Więc po uzyskaniu zależności utwórz kolejny tag dependencywewnątrz <dependencies>tagu.

Więc ostatecznie będzie to wyglądało mniej więcej tak.

<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>doc-examples</groupId>
  <artifactId>lambda-java-example</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>lambda-java-example</name>
  <dependencies>
      <!-- https://mvnrepository.com/artifact/com.amazonaws/aws-lambda-java-core -->
    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-lambda-java-core</artifactId>
        <version>1.0.0</version>
    </dependency>
  </dependencies>
</project>

Mam nadzieję, że to pomoże.

driftking9987
źródło
2

Zmierzyłem się z podobnym problemem i naprawiłem go, kopiując brakujące pliki Jar do .M2 Path,

Na przykład: jeśli zobaczysz komunikat o błędzie Missing artifact tws:axis-client:jar:8.7, musisz pobrać plik „axis-client-8.7.jar” i wkleić go do poniższej lokalizacji, co rozwiąże problem.

C: \ Users \ UsernameXXX.m2 \ repository \ tws \ axis-client \ 8.7 (Wklej axis-client-8.7.jar).

na koniec kliknij prawym przyciskiem myszy projekt-> Maven-> Aktualizuj projekt ... To wszystko.

szczęśliwego kodowania.

NARAYANASAMY VELUSAMY
źródło
Dzięki! To nie był mój konkretny problem, ale pomógł mi go rozwiązać. W moim przypadku mój słoik był we właściwym miejscu, ale ścieżka była trochę błędna.
Kapitan Fantastyczny
-1

Napotkałem ten sam problem z zależnościami mavena, np .: niestety twoje zależności mavena zostały usunięte z twojej ścieżki budowania, wtedy ludzie mają wiele wyjątków, jeśli zastosujesz się do poniższego procesu, możesz łatwo rozwiązać ten problem.

 Kliknij prawym przyciskiem myszy projekt >> maven >> updateProject >> wybierz projekt >> OK

Vinay K.
źródło