it-swarm.com.de

Wie konfiguriert man den Eclipse-Build-Pfad für die Verwendung von Maven-Abhängigkeiten?

Ich möchte die Funktionen nutzen, die Maven für die Verwaltung von Abhängigkeiten in einem Projekt bietet. Ich verstehe kurz, wie Maven funktioniert, dass es die benötigten JARs erwerben und dann das Projekt mit diesen Bibliotheken erstellen wird.

Zur Zeit habe ich eine einfache POM-Datei als Test eingerichtet:

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.jamesgoodwin.test</groupId>
  <artifactId>com.jamesgoodwin.test</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build>
  </build>
  <dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>3.0.0.RELEASE</version>
        <type>jar</type>
        <scope>compile</scope>
    </dependency>
  </dependencies>
</project>

Normalerweise füge ich beim Verwalten von Abhängigkeiten für ein Projekt das Projekt oder die JAR dem Projekterstellungspfad hinzu und kann dann mein Projekt erstellen. 

Bei Verwendung von M2Eclipse werden die Abhängigkeiten jedoch nicht automatisch zum Erstellungspfad hinzugefügt. Muss ich das irgendwo konfigurieren, damit Eclipse weiß, dass Maven die Abhängigkeiten verwaltet?

115
James Goodwin

Wenn Sie mit der rechten Maustaste auf Ihr Projekt klicken, sollte unter "Maven" die Option "Abhängigkeitsverwaltung aktivieren" angezeigt werden. Das ist es.

107
Buhb

wenn Sie ausführen

mvn Eclipse:clean

gefolgt von 

mvn Eclipse:eclipse

if wird die Eclipse .classpath-Datei für Sie vorbereiten. Das heißt, diese Befehle werden von der Befehlszeile aus, d. H. Außerhalb von Eclipse, ausgeführt.

60
davek

Ich gehe davon aus, dass Sie m2Eclipse verwenden, wie Sie es erwähnt haben. Es ist jedoch nicht klar, ob Sie Ihr Projekt unter Eclipse erstellt haben oder nicht, deshalb werde ich versuchen, alle Fälle abzudecken.

  1. Wenn Sie unter Eclipse ein "Java" -Projekt erstellt haben (Strg + N> Java Project), dann Rechtsklick das Projekt in der Ansicht Package Explorer und gehen Sie zu Maven> Enable Dependency Management ​​(abhängig von der anfänglichen Projektstruktur müssen Sie diese möglicherweise an die des Maven anpassen, indem Sie beispielsweise src/Java zu den Quellordnern im Build hinzufügen Pfad).

  2. Wenn Sie unter Eclipse ein "Maven Project" erstellt haben (Strg + N> Maven Project), sollte es bereits "Maven ready" sein.

  3. Wenn Sie ein Maven-Projekt außerhalb von Eclipse erstellt haben (manuell oder mit einem Archetyp), dann importieren in Eclipse (Rechtsklick das Package Explorer anzeigen und auswählen Importieren ...> Maven Projects) und es wird "Maven ready" sein.

Um nun eine Abhängigkeit hinzuzufügen, wählen Sie entweder Rechtsklick das Projekt und Maven> Abhängigkeit hinzufügen) oder bearbeiten Sie den POM manuell.

PS: Vermeiden Sie die Verwendung des maven-Eclipse-Plugins , wenn Sie m2Eclipse verwenden. Es gibt absolut keine Notwendigkeit dafür, es wird verwirrend sein, es wird etwas Chaos erzeugen. Nein, wirklich, benutze es nur, wenn du wirklich weißt, was du tust.

28
Pascal Thivent

Klicken Sie mit der rechten Maustaste auf das Projekt Konfigurieren> In Maven-Projekt konvertieren

Dann sehen Sie alle Maven-bezogenen Menüs für Ihr Projekt.

14
DevJav

Fügen Sie diese Datei der .classpath-Datei hinzu.

<classpathentry kind="con" path="org.Eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
    <attributes>
        <attribute name="maven.pomderived" value="true"/>
    </attributes>
</classpathentry>

Vielen Dank

14
Apurva Singh

Das hat mir gefallen .. 

Klicken Sie mit der rechten Maustaste auf das Projekt -> Konfigurieren -> In Maven-Projekt konvertieren ..__ Klicken Sie mit der rechten Maustaste auf das Projekt -> Maven -> Abhängigkeiten hinzufügen.

9
madhu_karnati

In Eclipse (Mars) gehe zu:

Projekteigenschaften -> Maven. Stellen Sie sicher, dass "Abhängigkeiten aus Arbeitsbereichsprojekten auflösen" disabled ist.

5
Thomas Beer

Ich habe das Maven oder die Konfigurationsmenüs nicht gefunden, aber die folgende Schaltfläche gefunden, die mein Problem gelöst hat:

enter image description here

4
borjab

Wenn m2Eclipse ordnungsgemäß installiert ist, sollten Abhängigkeiten automatisch hinzugefügt werden. __ Sie sollten jedoch die Eclipse-Projektdateien generieren, indem Sie Folgendes eingeben:

mvn Eclipse:m2Eclipse

oder alternativ, wenn Sie m2Eclipse nicht verwenden:

mvn Eclipse:eclipse
2
EJB

Bei neueren Eclipse-Versionen (> = Mars) klicken Sie mit der rechten Maustaste auf Projekt> Konfigurieren> In Maven-Projekt konvertieren

1
JBoy

Ich hatte eine leichte Abweichung, die einige Probleme verursachte - mehrere Unterprojekte innerhalb eines Projekts. In diesem Fall musste ich in jeden einzelnen Ordner gehen, der ein POM enthielt, den Befehl mvn Eclipse: eclipse ausführen und dann die Klassenpfadeinträge manuell in meine Projektklassenpfaddatei kopieren/zusammenführen.

1
Mearde

Meine Antworten aus mehreren Gründen hinzufügen: 

  • Irgendwie löste keine der aufgelisteten Antworten mein Problem. 
  • Ich konnte unter Maven "Enable Dependency Management" nicht finden. Ich benutze Eclipse 4.4.2 Build am Mi, 4. Februar 2015.

Was mir geholfen hat, war eine weitere Option unter Maven, die als "Update-Projekt" bezeichnet wurde, und wenn ich darauf klicke, öffnet sich dieses Fenster mit einem Ankreuzfeld "Aktualisierung von Snapshot/Freigaben erzwingen". Der eigentliche Zweck dieses Kontrollkästchens ist ein anderer, ich weiß, aber irgendwie wurde das Problem der Abhängigkeiten behoben.  enter image description here

1
Saurabh Patil

Stellen Sie sicher, dass Ihr POM der Namenskonvention folgt und in Kleinbuchstaben als pom.xml und NICHT POM.xml bezeichnet wird.

In meinem Fall war alles in Ordnung, aber Eclipse beschwerte sich immer noch, als er versuchte, mit der rechten Maustaste zu klicken, und Update project configuration - sagte mir, dass das POM nicht gelesen werden könne. Der Name wurde in Kleinbuchstaben geändert - pom.xml von POM.xml - und es funktionierte.

0
Karun

Ich habe auch diese Ausgabe getroffen. Wenn ich Abhängigkeiten in pom.xml hinzufüge, habe ich den lokalen Ordner /Users/xyz/.m2/ geprüft, und die Jars werden bereits heruntergeladen, aber ich kann den Buildpath der Eclipse nicht hinzufügen.

Meine Eclipse-Version: Mars.2-Release (4.5.2)

Rechtsklick-Projekt > Maven > Arbeitsbereichsauflösung aktivieren

Und das löste mein Problem.

0
Eddy

Nichts davon löste mein Problem. Aber was ich getan habe war, wenn Sie auf die pom.xml klicken, es gibt eine Registerkarte am unteren Rand, die Abhängigkeiten genannt wird. In dieser Registerkarte ist es in zwei Abschnitte unterteilt, einen als Abhängigkeiten bezeichneten und einen als Abhängigkeitsverwaltung bezeichneten Bereich. Wählen Sie alles im Abhängigkeitsbereich aus und klicken Sie auf Hinzufügen, um unter die Steuerung der Abhängigkeitsverwaltung zu gelangen. Schließen Sie Ihr Projekt und öffnen Sie es erneut.

0
amralieg

Normalerweise können Sie die .classpath-Datei aus einem Arbeitsprojekt kopieren, da hier nichts projektspezifisches Element vorliegt, sofern Sie als Maven-Standardprojekt strukturiert sind.

0
Puneet Lamba

Vielleicht könnten Sie statt M2Eclipse in maven-Eclipse-plugin schauen.

Dort fügen Sie der pom.xml grundsätzlich die Konfiguration des Maven-Eclipse-Plugins hinzu und führen dann mvn Eclipse:eclipse aus, wodurch die erforderlichen .project- und .classpath-Dateien für Eclipse generiert werden. Dann haben Sie den richtigen Build-Pfad in Eclipse.

0
Juha Syrjälä

Dies funktionierte für mich in Eclipse Oxygen (4.7.0): 

Klicken Sie mit der rechten Maustaste auf Projekt -> Maven -> Maven-Profile auswählen ... und aktivieren Sie das Kontrollkästchen Repository-Proxy. Drücken Sie anschließend auf OK.

0
r590