Ich habe ein Maven
-Projekt erstellt und möchte alle Maven
-Abhängigkeiten im Erstellungspfad des Projekts in Eclipse
hinzufügen. Wenn ich im Eigenschaftsdialogfeld des Projekts unter Java-Build-Pfad> Bibliothek hinzufügen> Maven-verwaltete Abhängigkeit> Weiter gehe, werden Sie aufgefordert, die "Maven-Projekteinstellung" zum Konfigurieren der Maven-Abhängigkeitsauflösung zu verwenden.
Meine Frage ist, wie man Maven-Abhängigkeiten im aktuellen Build-Pfad hinzufügt.
von der Befehlszeile aus:
mvn Eclipse:eclipse
dadurch werden alle Abhängigkeiten, die Sie in Ihrer pom.xml haben, in Eclipse eingefügt ...
wenn Sie dies jedoch noch nicht getan haben, müssen Sie möglicherweise einen weiteren Schritt ausführen.
Schließen Sie Eclipse und führen Sie dann den folgenden Befehl in der Shell aus:
mvn -Declipse.workspace=<Eclipse workspace> Eclipse:add-maven-repo
probe:
mvn -Declipse.workspace=/home/ft/workspaces/wksp1/ Eclipse:add-maven-repo
Wenn Sie m2e installiert haben und das Projekt bereits ein Maven-Projekt ist, aber die Maven-Abhängigkeiten noch fehlen, war der einfachste Weg, der für mich funktioniert hat
Ich habe das gleiche Problem mit SpringSource Tool Suite. Ich importierte ein vorhandenes Maven-Projekt, das problemlos von der Befehlszeile aus lief. Wenn ich jedoch das Projekt mit dem Import -> Maven -> vorhandenen Maven - Projekt importierte, wurde das Projekt nicht korrekt importiert, und ich konnte die von Maven verwaltete Abhängigkeitsbibliothek nicht zum Erstellungspfad hinzufügen.
Wenn ich mvn install von der Befehlszeile aus ausführte, wurde das Projekt erfolgreich erstellt. Wenn ich mvn Eclipse: eclipse ausgeführt habe und dann in STS importiert habe, funktionierte alles wie erwartet, außer natürlich würde ich dies jedes Mal erneut ausführen müssen, wenn ich das pom aktualisiere, was unerwünscht war.
Ich habe das Problem gelöst, indem ich mvn Eclipse:eclipse
ausgeführt habe und dann .classpath manuell aktualisiert habe, um die von Eclipse:eclipse
hinzugefügten M2_REPO-Abhängigkeiten zu entfernen und den m2Eclipse-Abhängigkeitseintrag hinzuzufügen:
<classpathentry kind="con" path="org.Eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="org.Eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
</attributes>
</classpathentry>
Dann importierte ich das vorhandene Maven-Projekt und es funktionierte wie erwartet.
Dies ist ein Hack und ich bin nicht sicher, welche weiteren Konsequenzen es hat, wenn Eclipse:ecplise
mit m2Eclipse arbeitet. Aber es erlaubte mir zumindest, mein Projekt zusammenzustellen, damit ich mit dem Programmieren beginnen konnte.
EDIT 1/4/2013
Die oben beschriebene Problemumgehung wird vorübergehend funktionieren, und ich habe nie negative Nebenwirkungen festgestellt. Ich hatte dieses Problem jedoch schon ein paar Mal, und jedes Mal besteht das Problem darin, dass es einen Abschnitt des Pom gibt, der von maven akzeptiert wird, aber m2Eclipse barfs auf.
Ich empfehle daher, Teile des Pom 1 1 zu entfernen, bis Sie das Projekt erfolgreich umsetzen können. Führen Sie einfach maven -> update configuration nach jedem pom-edit aus, bis es ordnungsgemäß funktioniert. Normalerweise entferne ich die Plug-In-Konfigurations-Tag-Blöcke nacheinander, beginnend mit den verdächtigsten (d. H. Den kompliziertesten).
Sobald es richtig funktioniert, können Sie den Pom zurücksetzen, und es sollte trotzdem wie erwartet funktionieren.
Nachdem ich gestartet bin, würde ich die fehlerhaften Konfigurationen recherchieren, um herauszufinden, was die "richtige" Lösung ist (jedenfalls nach m2Eclipse).
Hoffentlich führt dieser Ansatz zu einer dauerhaften Lösung, anstatt sich mit einem hacky Workaround zufrieden zu geben!
Stellen Sie sicher, dass Ihre in Ihrer pom.xml definierte Verpackungsstrategie nicht "pom" ist. Es sollte "Glas" oder etwas anderes sein. Sobald Sie das getan haben, klicken Sie mit der rechten Maustaste darauf und gehen Sie zu Maven -> Update Project ...
Sie können M2Eclipse installieren und das Projekt als Maven-Projekt in Eclipse öffnen. Es werden die erforderlichen Konfigurationen und Einträge erstellt.
Dies ist auch für spätere Aktualisierungen des Pom nützlich. Mit dem maven Eclipse-Plugin müssen Sie die Eclipse-Konfiguration für jede Änderung manuell neu erstellen.
Wenn Maven-> Update Project für Sie nicht funktioniert? Dies sind die Schritte, die ich religiös befolge Das Projekt aus Eclipse entfernen (nicht aus dem Arbeitsbereich löschen) Schließen Sie Eclipse Gehen Sie zu Befehlszeile und führen Sie diese Befehle aus.
mvn Eclipse:clean
mvn Eclipse:eclipse -Dwtpversion=2.0
Öffnen Sie Eclipse Importieren Sie ein vorhandenes Maven-Projekt . Sie sehen die Maven-Abhängigkeit in unserem Projekt.
Hoffe das klappt.
Ich könnte das Problem herausfinden. Ich habe beim Start von Eclipse folgende Warnung erhalten.
The Maven Integration requires that Eclipse be running in a JDK, because a number of Maven core plugins are using jars from the JDk.
Please make sure the -vm option in Eclipse.ini is pointing to a JDK and verify that
Installed JRE's are also using JDK installs
Ich habe die Datei Eclipse.ini geändert und Eclipse folgend hinzugefügt und neu gestartet
-vm
C:/Program Files/Java/jdk1.6.0_21/bin/javaw.exe
Jetzt kann ich die "Maven Dependency" -Bibliothek sehen, die automatisch im Java-Erstellungspfad enthalten ist.
Folge diesen Schritten
1) Gehen Sie in den Klassenpfad von Projekten
2) Gehen Sie in die Bibliotheksregisterkarte
3) Klicken Sie auf Bibliothek hinzufügen
4) Wählen Sie im geöffneten Dialog die von Maven verwalteten Abhängigkeiten aus
5) Klicken Sie auf Weiter
6) Klicken Sie im neuen Dialog auf Projekteinstellungen verwalten
7) Aktivieren Sie im geöffneten Dialog das Kontrollkästchen Abhängigkeiten aus dem Arbeitsbereich lösen
8) Klicken Sie auf Standard wiederherstellen
9) Es wird einige Prozesse ausführen und Sie haben jetzt alle Ihre Abhängigkeiten in Ihrer Bibliothek.
Wenn Sie ein Eclipse-Plugin für Ihre Maven-Aufgaben verwenden (es gibt zwei davon: M2ecipse von sonatype "offiziell" und q4e in Google Code), gibt es Optionen in den Kontextmenüs (Rechtsklick auf das Projekt) das schmerzlos.
Sie können beide Plugins gleichzeitig in Ihrer Eclipse-Workbench ausführen und sie auf Projektbasis gleichgültig verwenden.
Versuchen Sie: Klicken Sie mit der rechten Maustaste auf Ihr Projekt -> Maven -> Abhängigkeitsverwaltung deaktivieren.
Sie könnten auch ein Maven-Abhängigkeits-Plugin für Ihr Pom in Betracht ziehen:
<plugins>
...
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>process-resources</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
...
</plugins>
Dann können Sie "mvn package" ausführen, und maven kopiert alle erforderlichen Abhängigkeiten in Ihr_Projektpfad/target/Ihr_Projektname/WEB-INF/lib /. Von dort aus können Sie sie in Ihr Projekt-/Bibliotheksverzeichnis kopieren und als externe Jars hinzufügen (Projektpfad für Projekteinstellungen konfigurieren).
Wenn Sie die Maven-Abhängigkeit aus Versehen aus der Bibliothek entfernt haben. Fügen Sie unten in pom.xml hinzu
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>