Ich möchte die Funktionen von Maven zum Verwalten von Abhängigkeiten in einem Projekt nutzen. Mein kurzes Verständnis der Funktionsweise von Maven ist, dass es die benötigten JARs beschafft und dann das Projekt mit diesen Bibliotheken erstellt.
Derzeit 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>
Um Abhängigkeiten zu verwalten, füge ich normalerweise das Projekt oder die JAR zum Erstellungspfad hinzu und dann kann ich mein Projekt erstellen.
Bei Verwendung von M2Eclipse werden die Abhängigkeiten jedoch nicht automatisch zum Erstellungspfad hinzugefügt. Gibt es eine Konfiguration, um Eclipse wissen zu lassen, dass der Maven die Abhängigkeiten verwaltet?
wenn Sie ausführen
gefolgt von
if bereitet die Eclipse-
.classpath
Datei für Sie vor. Das heißt, diese Befehle werden von der Befehlszeile aus, dh außerhalb von Eclipse, gegen Maven ausgeführt.quelle
mvn eclipse:clean
undmvn eclipse:eclipse
tatsächlich das Problem für mich behoben.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. Ich werde versuchen, alle Fälle abzudecken.
Wenn Sie unter Eclipse ein "Java" -Projekt erstellt haben (Strg + N> Java-Projekt), klicken Sie mit der rechten Maustaste auf das Projekt in der Paket-Explorer- Ansicht und gehen Sie zu Maven> Abhängigkeitsverwaltung aktivieren (abhängig von der ursprünglichen Projektstruktur müssen Sie möglicherweise Änderungen vornehmen Es entspricht dem des Maven, z. B. durch Hinzufügen
src/java
zu den Quellordnern im Erstellungspfad.Wenn Sie unter Eclipse ein "Maven-Projekt" erstellt haben (Strg + N> Maven-Projekt), sollte es bereits "Maven-fähig" sein.
Wenn Sie ein Maven-Projekt außerhalb von Eclipse erstellt haben (manuell oder mit einem Archetyp), importieren Sie es einfach in Eclipse ( klicken Sie mit der rechten Maustaste auf die Ansicht Paket-Explorer und wählen Sie Importieren ...> Maven-Projekte ), und es ist "Maven-fähig".
Um nun eine Abhängigkeit hinzuzufügen, klicken Sie entweder mit der rechten Maustaste auf das Projekt und wählen Sie 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 ist absolut nicht nötig, es wird verwirrend sein, es wird etwas Chaos erzeugen. Nein, verwenden Sie es nur, wenn Sie wirklich wissen, was Sie tun.
quelle
Fügen Sie dies zur .classpath-Datei hinzu.
Vielen Dank
quelle
Klicken Sie mit der rechten Maustaste auf das Projekt Konfigurieren> In Maven-Projekt konvertieren
Dann können Sie alle Maven-bezogenen Menüs für Ihr Projekt sehen.
quelle
Mir hat das 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.
quelle
In Eclipse (Mars) gehen Sie zu:
Projekteigenschaften -> Maven. Stellen Sie sicher, dass "Abhängigkeiten von Arbeitsbereichsprojekten auflösen" deaktiviert ist .
quelle
Ich habe den Maven oder die Konfigurationsmenüs nicht gefunden, aber die folgende Schaltfläche gefunden, die mein Problem gelöst hat:
quelle
Wenn m2eclipse ordnungsgemäß installiert ist, sollten Abhängigkeiten automatisch hinzugefügt werden. Sie sollten die Eclipse-Projektdateien jedoch generieren, indem Sie Folgendes eingeben:
oder alternativ, wenn Sie m2eclipse nicht verwenden:
quelle
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.
quelle
Für neuere Eclipse-Versionen (> = Mars) klicken Sie mit der rechten Maustaste auf Projekt> Konfigurieren> In Maven-Projekt konvertieren
quelle
Hinzufügen meiner Antworten aus mehreren Gründen:
Was mir geholfen hat, war eine weitere Option unter Maven, die als "Projekt aktualisieren" bezeichnet wurde. Wenn ich darauf klicke, wird dieses Fenster geöffnet, in dem das Kontrollkästchen "Aktualisierung von Snapshot / Releases erzwingen" angezeigt wird. Der eigentliche Zweck dieses Kontrollkästchens ist anders, ich weiß, aber irgendwie hat es das Abhängigkeitsproblem gelöst.
quelle
Nichts davon löste mein Problem. Aber was ich getan habe war, wenn ich auf die pom.xml klicke, gibt es unten eine Registerkarte mit dem Namen Abhängigkeiten. Auf dieser Registerkarte ist es in zwei Abschnitte unterteilt, einen als Abhängigkeiten und einen als Abhängigkeitsmanagement. Wählen Sie alles im Abschnitt "Abhängigkeit" aus und klicken Sie auf "Hinzufügen", um sich unter der Kontrolle der Abhängigkeitsverwaltung zu befinden. Schließen Sie Ihr Projekt und öffnen Sie es erneut.
quelle
Vielleicht könnten Sie sich das Maven-Eclipse-Plugin anstelle von M2Eclipse ansehen.
Dort fügen Sie Ihrer pom.xml im Grunde genommen die Konfiguration des Maven-Eclipse-Plugins hinzu und führen sie dann aus,
mvn eclipse:eclipse
wodurch die erforderlichen Dateien.project
und.classpath
Dateien für Eclipse generiert werden . Dann haben Sie den richtigen Erstellungspfad in Eclipse.quelle
Stellen Sie sicher, dass Ihr POM der Namenskonvention entspricht und in Kleinbuchstaben als
pom.xml
und NICHT benannt istPOM.xml
.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 der POM nicht gelesen werden konnte. Der Name wurde in Kleinbuchstaben geändert -pom.xml
vonPOM.xml
- und es hat funktioniert.quelle
Ich habe dieses Problem auch getroffen. Wenn ich Abhängigkeiten in die hinzufüge
pom.xml
, habe ich den lokalen Ordner eingecheckt/Users/xyz/.m2/
und die Jars sind dort bereits heruntergeladen, aber der Build-Pfad der Eclipse kann nicht hinzugefügt werden.Meine Eclipse-Version: Mars.2 Release (4.5.2)
Klicken Sie mit der rechten Maustaste auf Projekt > Maven > Arbeitsbereichsauflösung aktivieren.
Dies löste mein Problem.
quelle
In der Regel können Sie die .classpath-Datei aus einem Arbeitsprojekt kopieren, da hier nichts Projektspezifisches vorhanden ist, vorausgesetzt, Sie sind als Standard-Maven-Projekt strukturiert.
quelle
Dies hat bei mir in Eclipse Oxygen (4.7.0) funktioniert:
Klicken Sie mit der rechten Maustaste auf Projekt -> Maven -> Maven-Profile auswählen ... und aktivieren Sie das Kontrollkästchen Repository-Proxy. Klicken Sie auf OK.
quelle