Wie füge ich eine Maven-Abhängigkeit in Eclipse hinzu?

128

Ich weiß überhaupt nicht, wie man Maven benutzt. Ich habe mich seit ein paar Jahren mit Eclipse entwickelt und musste noch nichts darüber wissen. Jetzt schaue ich mir jedoch einige Dokumente an , die darauf hindeuten, dass ich Folgendes tue:

"Um es in Ihr Projekt aufzunehmen, fügen Sie einfach diese Maven-Abhängigkeit zu Ihrem Build hinzu."

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

Wie mache ich das mit meinem Eclipse-Projekt?

Bitte nehmen Sie an, ich weiß nichts über Maven. Ich habe gerade durch Eingabe mvnin der Befehlszeile herausgefunden, dass es möglicherweise auf meinem Computer installiert ist , aber das ist ernsthaft der Umfang meines Wissens. Ich würde gerne weiterhin nichts über Maven wissen, wenn es eine äquivalente, nicht-Maven-Methode gibt, um diese Anweisungen mit Eclipse zu befolgen.

Riley Lark
quelle
2
Haben Sie die Maven Startanleitung
Dan W
4
Das Nicht-Maven-Äquivalent: Suchen Sie alle benötigten Bibliotheken und fügen Sie sie dem Erstellungspfad Ihres Projekts (lib-Verzeichnis) hinzu. "Alle Bibliotheken, die Sie benötigen" = resteasy-jackson-provider-1.1.GA.jar (2.3.0 ist die aktuelle Version ...) plus alle Abhängigkeiten. "Alle Abhängigkeiten" ist das, was Maven für Sie tut (in dieser Situation). Nachschlagen sind Jackson-Core-Asl, Jackson-Mapper-Asl, Jackson-Jaxrs, Jackson-XC. Lerne ein wenig Maven, es ist absolut die Zeit wert.
Hauke ​​Ingmar Schmidt
Weitere Informationen zu Maven finden Sie im Maven: The Complete Reference Guide. Sie sollten auch in Betracht ziehen, das Eclipse M2E- Plugin (früher als m2eclipse bekannt) zu installieren .
Matsev

Antworten:

204
  1. Öffnen Sie in der oberen Menüleiste Fenster -> Ansicht anzeigen -> Andere
  2. Öffnen Sie im Fenster Ansicht anzeigen Maven -> Maven-Repositorys

    Ansicht anzeigen - Maven-Repositorys

  3. Klicken Sie im angezeigten Fenster mit der rechten Maustaste auf Globale Repositorys und wählen Sie Gehe zu

  4. Klicken Sie mit der rechten Maustaste auf " zentral ( http://repo.maven.apache.org/maven2 ) " und wählen Sie " Index neu erstellen ".

    • Beachten Sie, dass es eine Weile dauern wird, bis der Download abgeschlossen ist
  5. Klicken Sie nach Abschluss der Indizierung mit der rechten Maustaste auf das Projekt -> Maven -> Abhängigkeit hinzufügen und geben Sie den Namen des zu importierenden Projekts ein (z. B. "Ruhezustand").

    • Die Suchergebnisse werden automatisch in das Feld "Suchergebnisse" unten ausgefüllt.
Oded Breiner
quelle
156
Die Legende besagt, dass der Index immer noch neu aufgebaut wird.
25
Tipp: Eclipse (mindestens die neueste Version ab Mai 2016) wird beim Neuerstellen des zentralen Maven-Repository-Index vollständig gesperrt. Und der Status bleibt seit fünf Minuten bei "0%". Mach keine Pläne.
Saustrup
7
Verdammt, ich vermisse<insert-name-of-previously-considered-to-be-worst-package-manager-ever-here>
Mark K Cowan
12
Ich war dumm genug zu versuchen, den zentralen Ordner zu öffnen ... tu das nicht ...
Nicht geliebt
15
Hinweis: Wenn dies kein Maven-Projekt war. Vor Schritt 5 müssen Sie mit der rechten Maustaste auf Projekt -> Konfigurieren -> In Maven-Projekt konvertieren klicken. Dann funktioniert Schritt 5.
Cliff2310
26

Wenn Sie die Datei pom.xml öffnen, sollten unten 5 Registerkarten angezeigt werden. Klicken Sie auf die Datei pom.xml, und Sie können die gewünschten Abhängigkeiten eingeben.

Geben Sie hier die Bildbeschreibung ein

DoraShine
quelle
hat mir sehr geholfen. habe die 5 Tabs vorher nicht bemerkt
M. Smith
2
Eclipse erkennt die Abhängigkeiten von meiner pom.xml in meinem Code immer noch nicht. Wenn ich IntelliJ verwende, werden sie automatisch heruntergeladen und für die Code-Vervollständigung eingerichtet. Tut Eclipse dies nicht?
Cas Eliëns
Wenn Sie die Details Ihrer Abhängigkeit (Gruppen-ID, Artefakt-ID, Version) bereits kennen, ist dies viel schneller als das Herunterladen des Internets, um es my-favorite-library.jarin Ihr Projekt aufzunehmen.
Christopher Schultz
10

Sie müssen ein Maven-Plugin für Eclipse verwenden, um dies ordnungsgemäß durchzuführen. Das m2e- Plugin ist in die neueste Version von Eclipse integriert und leistet einen anständigen, wenn nicht perfekten Job bei der Integration von Maven in die IDE. Sie möchten Ihr Projekt als 'Maven-Projekt' erstellen. Alternativ können Sie ein vorhandenes Maven POM in Ihren Arbeitsbereich importieren, um automatisch Projekte zu erstellen. Sobald Sie Ihr Maven-Projekt in der IDE haben, öffnen Sie einfach das POM und fügen Sie Ihre Abhängigkeit hinzu.

Wenn Sie kein Maven-Plugin für Eclipse haben, müssen Sie die JAR (s) für die betreffende Abhängigkeit abrufen und sie manuell als Klassenpfadreferenzen zu Ihrem Projekt hinzufügen. Dies kann unangenehm werden, da Sie nicht nur die JAR der obersten Ebene benötigen, sondern auch alle ihre Abhängigkeiten.

Grundsätzlich empfehle ich Ihnen, ein anständiges Maven-Plugin für Eclipse zu erwerben und das Abhängigkeitsmanagement für Sie zu übernehmen.

Wahrnehmung
quelle
2
Danke für die Antwort. Ich habe bereits ein Projekt mit 1000 Dateien - gibt es eine Möglichkeit, Maven-Unterstützung hinzuzufügen , anstatt von vorne zu beginnen? Ich habe die neueste Version von Eclipse
Riley Lark
3
Mit der neuesten Version von Eclipse und m2e können Sie mit der rechten Maustaste auf ein reguläres Java-Projekt klicken und das Abhängigkeitsmanagement dafür aktivieren. Dadurch wird eine pom.xml für das Projekt generiert, während die Struktur erhalten bleibt.
Wahrnehmung
7

Öffnen Sie die Datei pom.xml.

projectFügen Sie unter dem Tag ein <dependencies>weiteres Tag hinzu und googeln Sie nach den Maven-Abhängigkeiten. Früher habe ich diese zu suchen.

Nachdem Sie die Abhängigkeit erhalten haben, erstellen Sie ein weiteres Tag dependencyim <dependencies>Tag.

Letztendlich wird es also ungefähr so ​​aussehen.

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

Ich hoffe es hilft.

driftking9987
quelle
2

Ich habe mich dem ähnlichen Problem gestellt und es behoben, indem ich die fehlenden Jar-Dateien in den .M2-Pfad kopiert habe.

Beispiel: Wenn die Fehlermeldung Missing artifact tws:axis-client:jar:8.7angezeigt wird, müssen Sie die Datei "axis-client-8.7.jar" herunterladen und an der folgenden Stelle einfügen, um das Problem zu beheben.

C: \ Benutzer \ BenutzernameXXX.m2 \ Repository \ tws \ axis-client \ 8.7 (Einfügen von axis-client-8.7.jar).

Klicken Sie abschließend mit der rechten Maustaste auf Projekt-> Maven-> Projekt aktualisieren ... Das war's.

fröhliche Codierung.

NARAYANASAMY VELUSAMY
quelle
Vielen Dank! Dies war nicht mein spezifisches Problem, aber es half mir, es zu lösen. In meinem Fall befand sich mein Glas an der richtigen Stelle, aber der Pfad war etwas falsch.
Captain Fantastic
-1

Ich habe das gleiche Problem mit Maven-Abhängigkeiten gehabt, z. B.: Leider wurden Ihre Maven-Abhängigkeiten aus Ihrem Build-Pfad gelöscht. Dann erhalten Sie viele Ausnahmen. Wenn Sie den folgenden Prozess befolgen, können Sie dieses Problem leicht beheben.

 Klicken Sie mit der rechten Maustaste auf Projekt >> Maven >> UpdateProject >> SelectProject >> OK

Vinay K.
quelle