Ich habe ein ziemlich einfaches Maven-Projekt:
<project>
<dependencies>
...
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/dependencies</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
In m2eclipse wird jedoch der folgende Fehler angezeigt:
Description Resource Path Location Type
maven-dependency-plugin (goals "copy-dependencies", "unpack") is not supported by m2e. pom.xml /jasperreports-test line 60 Maven Project Build Lifecycle Mapping Problem
Warum kümmert es mich, wenn m2eclipse diese Aufgabe nicht "unterstützt"? Maven tut es und das ist alles, was mich wirklich interessiert. Wie kann ich diesen Fehler in meinem Projekt beheben?
Antworten:
Es scheint ein bekanntes Problem zu sein. Sie können m2e anweisen, dies zu ignorieren.
Option 1: pom.xml
Fügen Sie Folgendes in Ihr
<build/>
Tag ein:Danach müssen Sie Maven ... -> Projektkonfiguration für Ihr Projekt aktualisieren.
Lesen Sie mehr: http://wiki.eclipse.org/M2E_plugin_execution_not_covered#m2e_maven_plugin_coverage_status
Option 2: Global Eclipse Override
Um zu vermeiden, dass Ihre POM-Dateien geändert werden, kann die Überschreibung zum Ignorieren über die Eclipse-Einstellungen auf den gesamten Arbeitsbereich angewendet werden.
Speichern Sie diese Datei irgendwo auf der Festplatte: https://gist.github.com/maksimov/8906462
In
Eclipse/Preferences/Maven/Lifecycle Mappings
browse auf diese Datei und klicken Sie auf OK:quelle
Dies ist ein Problem der Ausführung des M2E für Eclipse M2E-Plugins, das nicht behandelt wird .
Um dieses Problem zu lösen, müssen Sie lediglich den nicht erkannten Lebenszyklus abbilden und M2E anweisen, es auszuführen.
Sie sollten dies nach Ihrem
plugins
, innerhalb der hinzufügenbuild
. Dadurch wird der Fehler behoben und M2E erkennt das Zielcopy-depencies
vonmaven-dependency-plugin
und sorgt dafür, dass das POM wie erwartet funktioniert, und kopiert jedes Mal, wenn Eclipse es erstellt, Abhängigkeiten in den Ordner. Wenn Sie den Fehler nur ignorieren möchten, ändern Sie<execute />
für<ignore />
. Keine Notwendigkeit , Ihre zum Einschließenmaven-dependency-plugin
inpluginManagement
, wie zuvor vorgeschlagen.quelle
<plugins>
in<pluginManagement>
einen zu ziehen, sollte man das tatsächlich dort hineinziehen<groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId>
. Aber es geht um das<groupId>org.eclipse.m2e</groupId> <artifactId>lifecycle-mapping</artifactId>
, was eingeschlossen werden muss<pluginManagement>
. Wenn Sie Quick Fix in Eclipse verwenden, wird dasselbe über dem regulären hinzugefügt<plugins>
, und es scheint, dass die Position auch gut funktioniert. Key ist dann zu ändern<ignore>
in<execute>
. Nett.plugins
in dem befindenbuild
. Sie können dies vorher hinzufügen.Wenn Kopierabhängigkeiten, Entpacken, Packen usw. für Ihr Projekt wichtig sind, sollten Sie es nicht ignorieren. Sie haben Ihre einzuschließen
<plugins>
in<pluginManagement>
getestet mit Eclipse Indigo SR1 Maven 2.2.1quelle
<execute />
statt<ignore />
? Vielen Dank!<plugin>
in zu setzen,<pluginManagement>
aber immer noch darauf zu verweisen, um seine Arbeit zu erledigen, gibt mir immer noch die gleiche Warnung.<pluginManagement>
ich noch eine "normale" 2-Zeile hinzufügen<build><plugins><plugin>...
, die auf die in konfigurierte Zeile verweist<pluginManagement>
, oder? (Ich sehe immer noch, wie Juno sich über dasselbe beschwert, wenn er da ist<pluginManagement>
.)plugins
Tag mit einschließenpluginManagement
. Aber werfen Sie einen Blick auf die Antwort, die ich unten gegeben habe: stackoverflow.com/a/12109018/179138 . Der vorgeschlagene ignoriert die Ausführung, führt das Plugin jedoch nicht in Eclipse aus.Damit es funktioniert, können Sie den m2e-Connector für das Maven-Dependency-Plugin installieren, anstatt ihn zu ignorieren:
https://github.com/ianbrandt/m2e-maven-dependency-plugin
So würden Sie es in Eclipse machen:
quelle
pom.xml
Datei nach der Installation des Plugins geringfügig zu bearbeiten , da sonst der Fehler möglicherweise nicht behoben wird.Trotz der Antwort von CaioToOn oben hatte ich zunächst immer noch Probleme, dies zum Laufen zu bringen.
Nach mehreren Versuchen hat es endlich funktioniert. Ich füge meine endgültige Version hier ein - in der Hoffnung, dass es jemand anderem zugute kommt.
quelle
Ich hatte das gleiche Problem beim Versuch, das Hadoop-Projekt in Eclipse zu laden. Ich habe die oben genannten Lösungen ausprobiert und glaube, dass es in Eclipse Kepler funktioniert haben könnte ... nicht einmal mehr sicher (habe zu viele Dinge ausprobiert).
Bei all den Problemen, die ich hatte, entschied ich mich, zu Eclipse Luna überzugehen, und die oben genannten Lösungen funktionierten bei mir nicht.
In einem anderen Beitrag wurde empfohlen, das ... -Tag in "Paket" zu ändern. Ich habe damit angefangen und es würde die Fehler "beseitigen" ... Ich denke jedoch, dass die Änderungen mich später beißen würden - ich bin kein Experte für Maven.
Zum Glück habe ich herausgefunden, wie man alle Fehler beseitigt. Gehen Sie zu Fenster-> Einstellungen-> Maven-> Fehler / Warnungen und ändern Sie die Option "Plugin-Ausführung nicht vom Lebenszyklus abgedeckt ..." in "Ignorieren". Ich hoffe es hilft.
quelle
Ich weiß, dass dies ein alter Beitrag ist, aber ich hatte heute auch mit diesem Problem zu kämpfen und habe die Vorlage von dieser Seite verwendet: http://maven.apache.org/plugins/maven-dependency-plugin/usage.html
und alles funktioniert gut unter
m2e
1.3.1.Als ich versuchte zu benutzen
Ich habe auch
m2e
Fehler bekommen.quelle
lifecycle-mapping
Maven-Plugin verwenden, um m2e anzuweisen, wie mit einem nicht unterstützten Plugin umzugehen ist (hier dasmaven-dependency-plugin
)Eine andere Möglichkeit besteht darin, zur Registerkarte Probleme zu navigieren, mit der rechten Maustaste auf Fehler zu klicken und auf Schnellkorrektur anwenden zu klicken. Sie sollten den XML-Code zum Ignorieren generieren und die POM-Datei für Sie anwenden.
quelle