So lösen Sie die „Plugin-Ausführung, die nicht durch die Lebenszykluskonfiguration abgedeckt ist“ für Spring Data Maven Builds

907

Ich versuche mit Spring Data und Neo4j zu arbeiten . Ich habe zunächst versucht, diesem Leitfaden zu folgen , auf den die Hauptseite verweist. Insbesondere habe ich meine pom.xml aus der "Hallo Welt!" Beispieldatei . Hier ist ein Ausschnitt aus meiner pom.xml für das Plugin, das die Probleme verursacht ...

<plugin>
<!-- Required to resolve aspectj-enhanced class features -->
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>aspectj-maven-plugin</artifactId>
    <version>1.0</version>
    <configuration>
        <outxml>true</outxml>
        <aspectLibraries>
            <aspectLibrary>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aspects</artifactId>
            </aspectLibrary>
            <aspectLibrary>
                <groupId>org.springframework.data</groupId>
                <artifactId>spring-data-neo4j</artifactId>
            </aspectLibrary>
        </aspectLibraries>
        <source>1.6</source>
        <target>1.6</target>
    </configuration>
    <executions>
        <!-- ERROR HERE IN ECLIPSE SEE BELOW FOR FULL MESSAGE -->
        <execution>
            <goals>
                <goal>compile</goal>
                <goal>test-compile</goal>
            </goals>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>${aspectj.version}</version>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjtools</artifactId>
            <version>${aspectj.version}</version>
        </dependency>
    </dependencies>
</plugin>

Der Fehler, den ich sehe, ist:

 Multiple annotations found at this line:
    - Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:aspectj-maven-plugin:1.0:compile (execution: default, phase: process-classes)
    - Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:aspectj-maven-plugin:1.0:test-compile (execution: default, phase: process-classes)

Ich verwende Eclipse 3.6.2 und m2e 0.13. Ich bin kein Maven-Experte, daher sollten Sie Ihre Antworten nach Möglichkeit sehr erläutern.

Ich habe auch m2e 1.0.0 über diese Update-Site ausprobiert und erhalte immer noch den gleichen Fehler.

Andrew White
quelle
1
Welche Version von Maven verwenden Sie? Spring Data (Graph) hat maven2 für seinen Erstellungsprozess verwendet (hauptsächlich aufgrund von Problemen mit dem Docbook-Plugin). (Übrigens, die Frühlingsdatenprojekte werden bald auf Gradle migrieren :)
Michael Hunger
1
Für Eclipse verwende ich den integrierten Maven 3.0.3 (was auch immer mit m2e geliefert wird). Bewegt sich der gesamte Frühling zu Gradle oder nur zu Spring Data?
Andrew White
1
Vergiss die Arbeit mit Groovy. Was ein Alptraum. Ich kann jetzt wegen dieser Travestie nicht einmal Indigo benutzen.
Spencer Kormos
Kann jemand einen Link zu dem Ort freigeben, an dem diese neue Betriebsart für M2E dokumentiert ist?
HDave

Antworten:

1336

In meinem Fall eines ähnlichen Problems funktionierte es einfach, nachdem ich Andrews Vorschlag für das Update verwendet hatte, nachdem ich das <pluginManagement> -Tag in die betreffende pom.xml eingeführt hatte. Dieser Fehler ist anscheinend auf ein fehlendes <pluginManagement> -Tag zurückzuführen. Um die Ausnahmen in Eclipse zu vermeiden, müssen einfach alle Plugin-Tags in ein <pluginManagement> -Tag eingeschlossen werden, wie folgt :

<build>
    <pluginManagement>
        <plugins>
            <plugin> ... </plugin>
            <plugin> ... </plugin>
                  ....
        </plugins>
    </pluginManagement>
</build>

Sobald diese Struktur vorhanden ist, verschwindet der Fehler.

Simeon Leyzerzon
quelle
29
Funktioniert auch für mich, aber kann jemand erklären warum?
Andrew Swan
89
@ Andrew Ich denke, das funktioniert, weil m2e nicht nach Plugins sucht pluginManagement, sondern nur nach build/plugins. In der Maven-Welt gibt es einen Unterschied zwischen den beiden - ersteres definiert "Wenn Sie dieses Plugin verwenden, ist hier die zu verwendende Konfiguration", während letzteres "dieses Plugin verwenden" angibt. Siehe diesen Beitrag und seine beiden wichtigsten Antworten.
GreenGiant
30
Ich stimme @GreenGiant zu. Ich habe diese Lösung ausprobiert, aber dann wird die Kompilierung unterbrochen, da das Aspekt-Plugin vor der Kompilierung nicht aufgerufen wird.
Pierre
25
Nicht gültig für mich. Behebt den Fehler in Eclipse, unterbricht jedoch die Generierung von WS-Code mit <goal> wsimport mithilfe des jaxws-maven-Plugins. "Ziel wsimport in pom.xml dauerhaft als im Eclipse-Build ignoriert" markiert scheint mehr pom.xml hinzuzufügen und behebt es für m2e.
Neffe
33
Errrr ... Es sieht so aus, als würde das nur funktionieren, weil alle fraglichen Plugins ausgeschaltet werden. Es würde auch funktionieren, sie komplett herauszunehmen, aber ich gehe davon aus, dass sie aus einem bestimmten Grund da drin sind? Entwickler sollten sicherstellen, dass sie absolut verstehen, was sie mit Maven machen, bevor sie dieses "Update" verwenden.
Michael Haefele
413

Was für ein Chaos. Ich erinnere mich nicht, wo ich das gefunden habe, aber ich musste Folgendes hinzufügen, damit M2Eclipse glücklich wird. Noch trauriger ist, dass es nicht gerade leicht zu verstehen ist, warum dieses Tag benötigt wird.

<build>
      ... various plugins ...

      <pluginManagement>
        <plugins>
            <!--This plugin's configuration is used to store Eclipse 
                m2e settings only. It has no influence on the Maven build itself. -->
            <plugin>
                <groupId>org.eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>org.codehaus.mojo</groupId>
                                    <artifactId>aspectj-maven-plugin</artifactId>
                                    <versionRange>[1.0,)</versionRange>
                                    <goals>
                                        <goal>test-compile</goal>
                                        <goal>compile</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <execute />
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

Es gab eine Reihe anderer Probleme mit dem M2Eclipse-Plug-In, die mit Spring Data einfach nicht funktionierten. Am Ende habe ich M2Eclipse zugunsten des Apache Eclipse-Plug- Ins deaktiviert .

Andrew White
quelle
3
In welchem ​​Plugin-Repository befindet sich das Plugin org.eclipse.m2e: Lifecycle-Mapping?
Nathan Feger
6
Wenn Ihre Eclipse das org.eclipse.m2e: Lifecycle-Mapping-Plugin nicht finden kann, weil Sie das Snippet oben in die falsche Plugin-Liste im POM
eingefügt
65
Hinweis: m2e 1.x kann dies automatisch als Schnellkorrektur aus der Sicht der Probleme tun
Brad Cupit
7
Danke: m2e hat mir einen 'Quickfix' für ein nicht erkanntes Plugin angeboten, das alle oben genannten Punkte generiert hat, außer mit <ignore /> anstelle von <execute />. Die Option <execute /> wurde nicht angeboten, was funktioniert! Wahnsinn!
Laher
10
Ja, <pluginmanagement> geht unter <build>. Sie würden denken, die m2-Seite würde diese Kleinigkeit erwähnen.
John
217

In Eclipse Luna 4.4.0 können Sie diesen Fehler in den Einstellungen ignorieren

Fenster > Einstellungen > Maven > Fehler / Warnungen > Plugin-Ausführung, die nicht von der Lebenszykluskonfiguration abgedeckt wird . Wählen Sie Ignorieren / Warnung / Fehler wie gewünscht.

In der Schnellkorrektur (Strg + 1) für diesen Fehler können Sie das Ziel als in Eclipse-Build in den Eclipse-Einstellungen ignoriert ignorieren (experimentell).

Dies ist ein sauberer Weg, da er Ihre nicht verändert pom.xml.

Sie müssen ein Maven > Update-Projekt ausführen , um den gleichen Fehler auch in jedem anderen Projekt zu beheben.


In STS (Spring-Tool-Suite) können Sie diesen Fehler in den Einstellungen ignorieren

Fenster> Einstellungen> Maven> Fehler / Warnungen> Plugin-Ausführung, die nicht durch die Lebenszykluskonfiguration abgedeckt ist. Wählen Sie als Wunsch Ignorieren / Warnung / Fehler. Dann. Klicken Sie mit der rechten Maustaste auf das Projekt, klicken Sie auf Maven und aktualisieren Sie das Projekt. Der Fehler wird dann behoben.

ShaKa
quelle
Perfekt. Arbeitete einwandfrei für mich. Danke für das Teilen.
Ajay Kumar
Ich habe es auch in Eclipse 2020-03 verwendet. Ich bin mir nicht sicher, warum der Fehler dieses Mal beim Importieren des Projekts aufgetreten ist. Ich habe es zuvor mindestens vier Mal auf anderen Computern ohne Probleme ausgeführt. Ich bin neu in der Sonnenfinsternis Ich muss sagen, dass ich immer noch verstehe, wie es Dinge baut, welche davon und wann :-D
Funder
Das ist die richtige Antwort. Vielen Dank. Ich verwende Red Hat CodeReady Studio, ein Eclipse-basiertes Tool.
Igor Vuković
Ein Tag sparen .. :) Diese Lösung hat bei mir funktioniert.
Jeetendra
Wie ist das ein Fix? Anstatt dass Eclipse sich beschwert, dass mein Quellcode nicht generiert wird (indem eine Zeile in POM.XML mit einem roten X und der Fehlermeldung "Plugin-Ausführung nicht durch die Lebenszykluskonfiguration abgedeckt" markiert wird), generiert Eclipse mit dieser Änderung meinen Code nicht stillschweigend Quellcode.
mbmast vor
212

Lösungsvorschlag aus der Eclipse m2e-Dokumentation :

  1. Verwenden Sie die Schnellkorrektur für den Fehler in pom.xml und wählen Sie Permanently mark goal run in pom.xml as ignored in Eclipse build- dies generiert den erforderlichen Boilerplate-Code für Sie.

  2. Um Eclipse anzuweisen, Ihr Plugin während des <ignore/>Builds auszuführen, ersetzen Sie einfach das Tag durch das <execute/>Tag in der generierten Konfiguration:

    <action>
        <execute/>
    </action>

    Alternativ können Sie Eclipse anweisen, das Plugin auch für inkrementelle Builds auszuführen:

    <action>
        <execute>
            <runOnIncremental>true</runOnIncremental>
        </execute >
    </action>
Vedran
quelle
6
Sie können auch <runOnIncremental>false|true</runOnIncremental>innerhalb des Execute-Tags hinzufügen , damit Eclipse dieses Maven-Plugin bei inkrementellen Builds aufruft.
Matthias B
4
Diese Lösung funktionierte auch für mich, aber es war nicht erforderlich, Schritt 2) der vorgeschlagenen Problemumgehung auszuführen.
Valerio Schiavoni
7
Wenn Sie sie nicht als "Ausführen" markieren, führt der Eclipse-Build diese Plugin-Ausführungen nicht aus, funktioniert aber möglicherweise auch.
Mrod
Beachten Sie, dass Sie es auch global zu Eclipse hinzufügen Permanently mark goal run in eclipse preferencesund <ignore> in <clecute> unter Eclipse-Einstellungen> Maven> Lifecycle Mappings> Metadaten für geöffnete Workspace Lifecycle Mappings ändern können .
PhoneixS
2
Vielen Dank, dies ist die eigentliche Lösung. Durch Hinzufügen des Tags <pluginManagement> wird nur das Plugin deaktiviert.
user3804769
111

Siehe https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html .

Um einige langjährige Probleme zu lösen, benötigt m2e 1.0 explizite Anweisungen, was mit allen Maven-Plugins zu tun ist, die an "interessante" Phasen des Projekt-Build-Lebenszyklus gebunden sind. Wir nennen diese Anweisungen "Project Build Lifecycle Mapping" oder einfach "Lifecycle Mapping", da sie definieren, wie m2e Informationen aus der Projektdatei pom.xml auf die Konfiguration und das Verhalten des Eclipse Workspace-Projekts während des Eclipse Workspace Builds abbildet.

Die Konfiguration der Projektbuild-Lebenszykluszuordnung kann in der Projektdatei pom.xml angegeben werden, die von Eclipse-Plugins bereitgestellt wird. Außerdem gibt es eine Standardkonfiguration für einige häufig verwendete Maven-Plugins, die mit m2e geliefert werden. Wir nennen diese "Metadatenquellen für die Lebenszykluszuordnung". m2e erstellt eine Fehlermarkierung wie unten für alle Plugin-Ausführungen, für die in keiner der Zuordnungsmetadatenquellen eine Lebenszykluszuordnung vorhanden ist.

Plugin execution not covered by lifecycle configuration:
org.apache.maven.plugins:maven-antrun-plugin:1.3:run
   (execution: generate-sources-input, phase: generate-sources)

m2e ordnet Plugin-Ausführungen mithilfe einer Kombination aus Plugin-Gruppen-ID, Artefakt-ID, Versionsbereich und Ziel Aktionen zu. Es gibt drei grundlegende Maßnahmen, die M2e angewiesen werden kann , mit einer Plugin Ausführung zu tun - zu ignorieren , auszuführen und zu einem Projekt delegieren Konfigurator .

Thomas Broyer
quelle
93
Das ist eine Erklärung des Problems, keine Lösung, zumindest keine, mit der ich arbeiten kann.
Andrew White
53
Sie haben die Antwort selbst gegeben und sie finden Sie auf der Seite, auf die ich verlinkt habe. Wenn es wichtiger ist, zu verstehen, was ein Fehler bedeutet (und dann leicht zu finden, wie er behoben werden kann), als einige Ausschnitte blind zu kopieren / einzufügen. "Wissenschaft ohne Gewissen ist nur der Untergang der Seele." (François Rabelais)
Thomas Broyer
22
Sorry, aber ich stimme Andrew zu, die Verwendung dieses Plugins ist weitaus komplizierter als es sein sollte. Ich habe eine neue Anwendung gestartet und zuerst, obwohl das Problem meine pow-Datei war, habe ich gesehen, dass dieses Problem durch m2e verursacht wurde, als ich ein pow ausprobierte, von dem ich weiß, dass es funktionieren sollte. Sorry Leute, aber ich denke, eine gute Pow-Datei sollte einfach funktionieren. Niemand weiß alles über alles, ich möchte nur dieses Plugin verwenden und nicht wissen, wie es funktioniert.
Nei
15
Ich muss zustimmen, dass dies den entgegengesetzten Weg des Maven-Manifests gegangen ist (sozusagen). Es macht eine einfache Sache so komplex, dass ich selbst wenn ich alles darüber lese, sie nicht die halbe Zeit zum Laufen bringen kann. Ich würde mich viel, viel lieber mit einer Maven-Idiosynkrasie befassen müssen als mit Plugins, die nicht an Lebenszyklusphasen binden, wenn sie sollen. Wenn dies eine Zwischenlösung ist, dann gut ... aber reparieren Sie sie, weil sie jetzt kaputt ist.
Brill Pappin
13
Es ist nicht Maven, der ausfällt. Builds über die Befehlszeile funktionieren. Es ist das m2eclipse-Plugin (von den Eclipse-Leuten erstellt), das den Fehler ausspuckt. Ich denke, das Problem ist, dass Maven einen anderen Build-Lebenszyklus als Eclipse hat, sodass Sie eine explizite Zuordnung vornehmen müssen. Das ist eine große Schande, denn es bedeutet, dass Sie POMs anscheinend nie so verwenden können, wie sie sind. Sie müssen diese Zuordnung immer hinzufügen ....
Stijn de Witt
30

m2e 0.13 führt einen m2e-Anschluss und einen m2e-Marktplatz ein , um die m2e-Funktionen zu erweitern. Es ist wie im alten m2e-extras-Repository.

Sie können auf den m2e-Marktplatz über die Einstellungen zugreifen: Einstellungen> Maven> Ermittlung > Katalog öffnen . Durch die Installation der WTP-Integration wurden die meisten Plugin-Probleme für mich gelöst.

noirbizarre
quelle
1
Ich sehe "WTP-Integration" nicht in der Liste. Verwenden Sie einen nicht standardmäßigen Katalog?
Ed Staub
Ich verwende den Standardkatalog, aber Sie haben Recht: Ich sehe ihn nicht mehr.
noirbizarre
1
community.jboss.org/en/tools/blog/2011/06/23/… . Siehe Update 2, trotzdem +1 für großes Durcheinander
prusswan
2
Ab November 2011 ist m2e wtp auf dem Eclipse Marketplace zu finden
stivlo
1
Es funktioniert, fügen Sie Update-Site von dieser URL hinzu: download.jboss.org/jbosstools/updates/m2eclipse-wtp
27

Ändern Sie die Maven-Einstellungen für die Plugin-Ausführung von "Fehler" in "Ignorieren"

kvm006
quelle
2
Ich kann nur empfehlen, dass dies die neu akzeptierte Antwort ist. Viele andere Lösungen verhindern, dass Maven das Plugin während des angegebenen Build-Schritts vollständig ausführt, was der Benutzer selten wünscht. Dies ist normalerweise ein Konfigurationsproblem, kein tatsächlicher Fehler. Die Standardeinstellung für Eclipse sollte "Warnung" und nicht "Fehler" sein.
Nick Straguzzi
26

Beachten Sie, dass die M2Eclipse (m2e) -Version 1.7.0, die im heutigen Eclipse Neon-Release-Zug verfügbar ist, eine neue Syntax zum Festlegen von Metadaten für die Lebenszykluszuordnung unterstützt. Infolgedessen Boilerplate wie dieses (hier fordern wir m2e auf, das Ziel zu ignorieren):

<pluginManagement>
  <plugins>
    <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
    <plugin>
      <groupId>org.eclipse.m2e</groupId>
      <artifactId>lifecycle-mapping</artifactId>
      <version>1.0.0</version>
      <configuration>
        <lifecycleMappingMetadata>
          <pluginExecutions>
            <pluginExecution>
              <pluginExecutionFilter>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <versionRange>[1.5.0,)</versionRange>
                <goals>
                  <goal>exec</goal>
                </goals>
              </pluginExecutionFilter>
              <action>
                <ignore></ignore>
              </action>
            </pluginExecution>
          </pluginExecutions>
        </lifecycleMappingMetadata>
      </configuration>
    </plugin>
  </plugins>
</pluginManagement>

kann durch eine einzelne Zeile im Ausführungsknoten des Plugins ersetzt werden:

<?m2e ignore?>

Geben Sie hier die Bildbeschreibung ein

Weitere Informationen finden Sie in den Versionshinweisen.

David
quelle
21

Als Ergänzung zu den vorherigen Antworten gibt es eine Problemumgehung, die ich gerade entdeckt habe, wenn Sie nicht alle diese Boilerplates zu Ihrem Projekt-POM hinzufügen können oder wollen. Wenn Sie an folgendem Ort suchen:

{Eclipse_folder}/plugins/org.eclipse.m2e.lifecyclemapping.defaults_{m2e_version}

Sie sollten eine Datei mit dem Namen lifecycle-mapping-metadata.xmlfinden, in der Sie dieselben Änderungen vornehmen können, die in den anderen Antworten und in der Ausführung des M2E-Plugins beschrieben sind, die nicht behandelt werden .

htompkins
quelle
6
Sie können die WORKSPACE/.metadata/.plugins/org.eclipse.m2e.core/lifecycle-mapping-metadata.xmlDatei auch bearbeiten , anstatt an den Gläsern herumzuspielen. Weitere Details finden Sie unter Preferences > Maven > Lifecycle Mappings. Wenn Sie die Schnellkorrektur auswählen "Mark goal xxxxx as ignored in Eclipse build in Eclipse preferences (experimental)", werden alle erforderlichen Änderungen an der obigen Datei hinzugefügt.
Nufail
17

Ich hatte das gleiche Problem mit Eclipse v3.7 (Indigo) und m2eclipse wie mein Maven-Plugin. Der Fehler konnte leicht behoben werden, indem die Ausführungsphase innerhalb der Plugin-Definition explizit angegeben wurde. Mein Pom sieht also so aus:

<project>
    ...
    <build>
        ...
        <plugins>
            <plugin>

                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <version>1.0</version>

                <configuration>
                    <timestampFormat>yyyy-MM-dd_HH-mm-ss</timestampFormat>
                </configuration>

                <executions>
                    <execution>
                        *<phase>post-clean</phase>*
                        <goals>
                            <goal>create-timestamp</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        ...
Kristiaan
quelle
10
  1. Gehen Sie zu Hilfe> Neue Software installieren ...
  2. Verwenden Sie dieses Software-Repository

    Stellen Sie sicher, dass "Alle Update-Sites während der Installation kontaktieren, um die erforderliche Software zu finden" aktiviert ist.

  3. Installieren Sie den AJDT m2e Configurator

Quelle: Upgrade der Maven-Integration für SpringSource Tool Suite 2.8.0 (Andrew Eisenberg)

Dies sollte ADJT automatisch installieren, wenn Sie es nicht installiert haben. Wenn dies nicht der Fall ist, installieren Sie AspectJ Development Tools (ADJT) zuerst von der "Indigo Update Site" (entsprechend Ihrer Eclipse-Version).

Weitere Informationen finden Sie auf der Website von AspectJ Development Tools .

Hendy Irawan
quelle
Ich habe das versucht, aber ich habe den Fehler bekommen: Missing requirement: Maven Integration for AJDT (Optional) 0.13.0.201107281640 (org.maven.ide.eclipse.ajdt.feature.feature.group 0.13.0.201107281640) requires 'org.eclipse.ajdt.feature.group 1.5.0' but it could not be found
Mahmoud Saleh
Msaleh, versuchen Sie meine überarbeitete Antwort
Hendy Irawan
9

Gehen Sie zu, workspace/rtc-ws/.metadata/.plugins/org.eclipse.m2e.core/lifecycle-mapping-metadata.xmlerstellen Sie die lifecycle-mapping-metadata.xmlDatei und fügen Sie sie unten ein. Laden Sie die Konfiguration wie folgt neu

Wenn Sie Eclipse 4.2 verwenden und Probleme mit der Zuordnung haben und keine Probleme mit Ihrer Zuordnung haben, pom.xmlerstellen Sie eine neue Datei. lifecycle-mapping-metadata.xmlKonfigurieren Sie diese Windows -> Preferences -> Lifecycle mapping (vergessen Sie nicht, nach jeder Änderung dieser Datei die Metadaten für die Zuordnung der Lebenszykluszuordnungen im Arbeitsbereich neu zu laden!). Hier ist ein Beispiel basierend aufeclipse/plugins/org.eclipse.m2e.lifecyclemapping.defaults_1.2.0.20120903-1050.jar/lifecycle-mapping-metadata.xml

<?xml version="1.0" encoding="UTF-8"?>
<lifecycleMappingMetadata>
    <pluginExecutions>
        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <goals>
                    <goal>create-timestamp</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <goals>
                    <goal>list</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.zeroturnaround</groupId>
                <artifactId>jrebel-maven-plugin</artifactId>
                <goals>
                    <goal>generate</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>gwt-maven-plugin</artifactId>
                <goals>
                    <goal>compile</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <goals>
                    <goal>copy-dependencies</goal>
                    <goal>unpack</goal>
                </goals>
                <versionRange>[0.0,)</versionRange>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <versionRange>[1.7,)</versionRange>
                <goals>
                    <goal>run</goal>
                </goals>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>


        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <versionRange>[2.8,)</versionRange>
                <goals>
                    <goal>check</goal>
                </goals>
            </pluginExecutionFilter>
            <action>
                <ignore />
            </action>
        </pluginExecution>

    </pluginExecutions>
</lifecycleMappingMetadata>
fatih tekin
quelle
9

Ich hatte das gleiche Problem mit Indigo und einem Projekt, das Java-Quellen aus XSD generieren muss.
Ich könnte das Problem beheben, indem ich die fehlende Lebenszykluszuordnung wie auf dieser Seite beschrieben bereitstelle

Tillmann
quelle
8

Ich habe es nach dem Blogbeitrag " Upgrade der Maven-Integration für SpringSource Tool Suite 2.8.0" behoben .

Befolgen Sie die Hinweise im Abschnitt " Oh, oh ... meine Projekte werden nicht mehr erstellt ". Selbst wenn es für die SpringSource Tool Suite vorgesehen ist, habe ich damit eine reguläre Eclipse-Installation repariert. Ich musste meine POM-Dateien nicht ändern.

Chepech
quelle
1
Die letzte Ressource, die auf eine ältere Version von m2e oder die von Ihnen verwendete IDE zurückgesetzt werden soll.
Chepech
5

Verwenden Sie m2e 0.12 , letzte Version von Sonatype.

Oh Chin Boon
quelle
5

Dieser Fehler tritt auch bei Neon auf, da der m2e-Anschluss fehlt. Lösung: Schwebefehler und auswählen - Neue m2e-Anschlüsse entdecken.

Es wird ein neuer Stecker installiert und das wars.

Tamer Awad
quelle
4

Ich habe benutzt

<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
    <execution>
        <id>runSomeAntTasks</id>
        <phase>test-compile</phase>
        .
        .
        <goals>
            <goal>run</goal>
        </goals>
    </execution>
</executions>

und änderte es zu

<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
    <id>runSomeAntTasks</id>
    <phase>integration-test</phase>
        .
        .

        <goals>
            <goal>run</goal>
        </goals>
    </execution>
</executions>

und der Fehler ging weg. Möglicherweise wird nicht empfohlen, eine Ausführung an die Testkompilierungsphase zu binden, sodass das Finden einer anderen Phase eine alternative Lösung zum Hinzufügen einer Plugin-Verwaltungskonfiguration zum Maven-Lebenszyklus sein kann.

Bob
quelle
4

Wo finde ich WTP:

Fahren Sie mit der Maus auf <Plugin> in pom.xml und "Entdecken Sie neue m2e-Konnektoren".

Ich habe sie alle installiert, was standardmäßig überprüft ist und es funktioniert.

siOnzee
quelle
4

Ich hatte genau das gleiche Problem nach dem Update von m2e und löste es durch die Neuinstallation von Maven Integration für Eclipse WTP.

Wie sich herausstellte, habe ich es deinstalliert und versucht, m2e von Version 0.x auf 1.x zu aktualisieren

Lisandro
quelle
3

Ich hatte heute dieses Problem. Ich habe STS 3.4 mit dem mitgelieferten Roo 1.2.4 verwendet. Später habe ich mit Eclipse Kepler und Roo 1.2.5 den gleichen Fehler versucht.

Ich habe meine pom.xml geändert und nach dem Build und vor der Plugins-Deklaration das Tag pluginTemplates hinzugefügt, aber es hat nicht funktioniert.

Was hat die Magie für mich gemacht:

  • Verwenden von jdk 1.7.0_51
  • Heruntergeladene Roo 1.2.5
  • Heruntergeladene Maven 3.2.1 (wenn nicht, wenn "Eclipse ausführen" ausgeführt wird, erscheint dieser Fehler "Fehler = 2, keine solche Datei oder kein solches Verzeichnis")
  • Konfigurierte JDK-, Roo- und Maven-Bin-Verzeichnisse auf meinem PATH:

    export PATH = / opt / jdk1.7.0_51 / bin: $ PATH export PATH = / opt / spring-roo-1.2.5.RELEASE / bin: $ PATH export PATH = / opt / apache-maven-3.2.1 / bin : $ PATH

Ich habe meine Konfiguration wie folgt vorgenommen: ( http://docs.spring.io/spring-roo/reference/html/beginning.html )

$ mkdir hello 
$ cd hello
$ roo.sh
roo> project --topLevelPackage com.foo
roo> jpa setup --provider HIBERNATE --database HYPERSONIC_PERSISTENT 
roo> web mvc setup
roo> perform eclipse

Öffnen Sie mit Eclipse (nichts von STS, aber ich denke, es funktioniert): Importieren -> Bestehende Projekte in Workspace

Camposer
quelle
2

Ich habe genau das gleiche Problem mit dem Maven Thrift Plugin festgestellt. Hier ist meine Lösung, bei der Sie Ihre pom.xml nicht durcheinander bringen müssen:

  1. Verwenden Sie das Befehlszeilenprogramm maven mvn

    mvn eclipse: eclipse

    um ein Eclipse-Projekt zu erstellen

  2. Importieren Sie das Projekt in Eclipse. Denken Sie daran, zu verwenden

    Datei> Importieren> Allgemein> Vorhandene Projekte in den Arbeitsbereich

    um das Projekt in Ihren Arbeitsbereich einzufügen.

Dies sollte das Problem beheben.

PickBoy
quelle
2

Anstatt Ihre POM-Datei durcheinander zu bringen, würde ich Ihnen empfehlen, in Eclipse zu AnsichtMarkierungen anzeigen zu gehen und die Markierungen der entsprechenden Fehler auszuwählen und zu löschen.

Bharath Lakshman
quelle
Grrr, ich hasse es, zwischen zwei Übeln wählen zu müssen. Hinzufügen von Dutzenden von Müllzeilen zu pom = bad. Dein Weg = auch schlecht, weil er immer wieder auftaucht (jedes Mal, wenn du den Pom rettest) und ich muss allen sagen, dass das in Ordnung ist.
Iain
1

Wenn Sie Eclipse Juno verwenden, liegt möglicherweise das Problem der Maven-Integration für Eclipse WTP vor . Installieren Sie dasselbe vom Eclipse Market Place.

Geben Sie in der Eclipse IDE-Hilfe >> Eclipse Market Place >> die Abfrage wtp ein. Die Maven-Integration für Eclipse WTP für Juno wird angezeigt. Installieren Sie sie und aktualisieren Sie die Maven-Abhängigkeiten

Mohammed Irfan Tirupattur
quelle
1

Ich habe den gleichen Fehler bekommen. Nachdem ich folgendes getan hatte, ging es weg.

  1. Klicken Sie mit der rechten Maustaste auf das Projekt.
  2. Wählen Sie Maven> Projekt aktualisieren ...
Lilylakshi
quelle
1

Diese Antwort ist genauso gut wie die oben genannte Top-Plugin-Management-Antwort (das heißt, es ist schrecklich).

Löschen Sie einfach den gesamten beleidigenden XML-Code im POM.

Erledigt. Problem gelöst (außer du hast gerade deine Maven-Konfiguration kaputt gemacht ...).

Entwickler sollten sehr vorsichtig sein, wenn sie Plugin-Management-Tags verstehen, bevor sie eine dieser Lösungen ausführen. Wenn Sie das Plugin-Management nur zufällig auf Ihre Plugins legen, wird der Maven-Build wahrscheinlich für alle anderen unterbrochen, damit Eclipse funktioniert.

Michael Haefele
quelle
1

Sie können diesen Fehler in Eclipse unterdrücken: Fenster -> Einstellungen -> Maven -> Fehler / Warnungen

Pankaj Rastogi
quelle
1

Ändern

<artifactId>aspectj-maven-plugin</artifactId>
<version>1.2</version>

in

<artifactId>aspectj-maven-plugin</artifactId>
<version>1.3</version>

löste das Problem für mich.

nicht kümmern
quelle
1

Ich habe dies mit Eclipse v4.3 (Kepler) und Maven 3.1 festgestellt.

Die Lösung besteht darin, ein JDK und keine JRE für Ihr Eclipse-Projekt zu verwenden. Stellen Sie sicher, dass Sie versuchen, maven cleanEclipse zu testen, um fehlende JAR-Dateien herunterzuladen.

Yamato
quelle
1

Ich folgte dem GUI-Hinweis, um einen Connector zu finden, und fand dann AspectJ Integrator vom SpringSource Team. Nach der Installation wurde es erledigt.

deng hui
quelle
0

Für mich wurde dies durch AspectJ-Klassen verursacht. Ich konnte unter Discovery kein Plugin finden, das helfen könnte. Daher habe ich dies behoben, indem ich die Dateien org.maven.ide.eclipse.ajdt unter Plugin- und Feature-Ordnern einer vorhandenen STS-Installation kopiert habe.

Ich weiß, sehr unhöflicher Ansatz.

DevCat
quelle