So lösen Sie „Plugin -Ausführung, die nicht von der Lebenszykluskonfiguration abgedeckt“ für Federdaten -Maven -Builds

StackOverflow https://stackoverflow.com/questions/6352208

Frage

Ich versuche mit zu arbeiten Federdaten und NEO4J. Ich begann damit, zu folgen Dieser Leitfaden Verbunden von der Hauptseite. Insbesondere habe ich mein pom.xml von der gestützt "Hallo Welt!" Beispieldatei. Hier ist ein Snip von meinem 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 betreibe Eclipse 3.6.2 und M2E 0,13. Ich bin kein Maven -Experte. Seien Sie also bitte sehr erklärend in Ihren Antworten.

Ich habe es auch versucht M2E 1.0.0 über Diese Update -Site und bekommen immer noch den gleichen Fehler.

War es hilfreich?

Lösung

In meinem Fall eines ähnlichen Problems funktionierte es, anstatt Andrews Vorschlag für die Fix zu verwenden, einfach nach meiner Einführung u003CpluginManagement> Tag zum fraglichen pom.xml. Sieht so aus, als wäre dieser Fehler auf einen fehlendenu003CpluginManagement> Schild. Um die Ausnahmen in Eclipse zu vermeiden, muss man einfach alle Plugin -Tags in a einschließen u003CpluginManagement> Tag, wie so:

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

Sobald diese Struktur vorhanden ist, verschwindet der Fehler.

Andere Tipps

Was für ein Chaos. Ich erinnere mich nicht, wo ich das gefunden habe, aber ich musste Folgendes hinzufügen, um M2eclipse dazu zu bringen, glücklich zu sein. Noch traurig ist, dass es nicht 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 einfach nicht mit Federdaten funktionierten. Am Ende deaktivierte ich M2eclipse zugunsten der Apache Eclipse Plug-In.

Vorgeschlagene Lösung von Eclipse M2E -Dokumentation:

  1. Verwenden schnelle Lösung auf den Fehler in pom.xml und auswählen Permanently mark goal run in pom.xml as ignored in Eclipse build - Dies generiert den erforderlichen Boilerplate -Code für Sie.

  2. Um die Eclipse zum Ausführen Ihres Plugins während des Builds zu unterweisen, ersetzen Sie einfach das <ignore/> Tag mit <execute/> Tag in der generierten Konfiguration:

    <action>
        <execute/>
    </action>
    

    Alternativ können Sie Eclipse auch anweisen, das Plugin auch auf inkrementellen Builds auszuführen:

    <action>
        <execute>
            <runOnIncremental>true</runOnIncremental>
        </execute >
    </action>
    

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

Fenster > Vorlieben > Maven > Fehler/Warnungen > Plugin -Ausführung, die nicht von der Lebenszykluskonfiguration abgedeckt ist. Auswählen Ignorieren / Warnung / Fehler ignorieren wie du möchtest.

Außerdem gibt es im Quick Fix (Strg + 1) für diesen Fehler eine Option, um das Ziel zu markieren, das in Eclipse Build in Eclipse -Präferenzen ignoriert (experimentell) ignoriert wird (experimentell).

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

Sie müssen a machen Maven > Projekt aktualisieren Um den gleichen Fehler in jedem anderen Projekt zu beheben.


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

Fenster> Einstellungen> Maven> Fehler/Warnungen> Plugin-Ausführung nicht durch die Konfiguration des Lebenszyklus abgedeckt. Wählen Sie Ignorieren / Warnung / Fehler wie Ihr Wunsch. Dann. Klicken Sie mit der rechten Maustaste auf das Projekt auf Maven und aktualisieren Sie das Projekt, dann wird der Fehler verschwunden.

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

Um einige langjährige Probleme zu lösen, erfordert M2E 1.0 explizite Anweisungen, was mit allen Maven-Plugins zu tun ist, die an "interessante" Phasen des Projektbaus Lebenszyklus gebunden sind. Wir nennen diese Anweisungen "Projektbuild Lifecycle Mapping" oder einfach "Lebenszyklus -Mapping", da sie definieren, wie M2E Informationen von Project POM.xml -Datei zum Eclipse -Arbeitsbereichsprojektkonfiguration und -verhalten während des Eclipse -Arbeitsbereichs erstellt.

Die Konfiguration des Projektbuilds -Lebenszykluszuordnungskartons kann in Projektpom.xml angegeben werden, die von Eclipse -Plugins beigetragen werden. Außerdem gibt es eine Standardkonfiguration für einige häufig verwendete Maven -Plugins, die mit M2E versendet werden. Wir nennen diese "Lebenszyklus -Mapping -Metadatenquellen". M2E erstellt Fehlermarker wie unten für alle Plugin -Ausführungen, bei denen keine Lebenszyklus -Mapping in einer der Mapping -Metadatenquellen verfügt.

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 entspricht Plugin -Ausführungen mit der Kombination von Plugin GroupID, Artefactid, Versionsbereich und Ziel. Es gibt drei grundlegende Aktionen, die M2E mit einer Plugin -Ausführung angewiesen werden kann - ignorieren, ausführen und delegieren Sie ein Projekt Konfigurator.

M2E 0.13 Einführen a M2E -Steckverbinder und M2E Market Place M2E -Funktionen erweitern. Es ist wie das alte M2E-Extras-Repository.

Sie können aus den Vorlieben auf den M2E -Marktplatz zugreifen: Präferenzen> Maven> Entdeckung> offener Katalog. Installation WTP -Integration Die meisten Pluginprobleme für mich gelöst.

Ändern Sie die Maven -Einstellungen für die Ausführung von Plugin von der Fehlersendung zu ignorieren

Beachten Sie, dass die M2Eclipse (M2E) Version 1.7.0 im heutigen Eclipse Neon Release -Zug neue Syntax für die Angabe von Metadaten für Lebenszyklus -Mapping unterstützt. Infolgedessen wie diese (hier sagen wir M2E, dass wir das Ziel ignorieren sollen):

<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 im Ausführungsknoten des Plugins durch eine einzelne Linie ersetzt werden:

<?m2e ignore?>

enter image description here

Siehe das Versionshinweise für Details.

Als Addendum zu den vorherigen Antworten gibt es eine Problemumgehung, die ich gerade entdeckt habe, wenn Sie nicht all diese Boilerplate zu Ihrem Projektpom hinzufügen können oder nicht. Wenn Sie an den folgenden Ort schauen:

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

Sie sollten eine Datei mit dem Titel finden lifecycle-mapping-metadata.xml wo Sie die gleichen Änderungen vornehmen können, die in den anderen Antworten und in in den anderen Antworten beschrieben werden M2E -Pluginausführung nicht abgedeckt.

Ich hatte das gleiche Problem mit Eclipse V3.7 (Indigo) und M2eclipse wie mein Maven -Plugin. Der Fehler wurde leicht gelöst, indem die Ausführungsphase innerhalb der Plugin -Definition explizit angegeben wurde. Also sieht mein Pom 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>
        ...
  1. Gehen Sie mit Hilfe> neue Software installieren ...
  2. Benutze das Software -Repository

    Stellen Sie sicher, dass "Kontakt mit allen Update -Sites während der Installation, um die erforderliche Software zu finden" überprüft.

  3. Installieren Sie den AJDT M2E -Konfigurator

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

Dies sollte automatisch adjt installieren, wenn Sie es nicht installiert haben. Wenn dies jedoch nicht der Fall ist, installieren Sie Aspekte -Entwicklungs -Tools (ADJT) zuerst von der "Indigo -Update -Site" (gemäß Ihrer Eclipse -Version).

Weitere Informationen zu Aspekte -Entwicklungstools Site.

Gehe zu workspace/rtc-ws/.metadata/.plugins/org.eclipse.m2e.core/lifecycle-mapping-metadata.xml Dann erstellen lifecycle-mapping-metadata.xml Datei und einfügen und die Konfiguration wie unten einfügen und neu laden

Wenn Sie Eclipse 4.2 verwenden und Probleme mit dem Mapping haben und nicht in Ihre durcheinander bringen pom.xml Neue Datei erstellen lifecycle-mapping-metadata.xml Konfigurieren Sie es in Windows -> Preferences -> Lifecycle mapping (Vergessen Sie nicht, den Arbeitsbereich für Lebenszyklus -Mappings -Metadaten nach jeder Änderung dieser Datei neu zu laden!). Hier basiert ein Beispiel auf eclipse/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>

Ich hatte das gleiche Problem mit Indigo und einem Projekt, das Java -Quellen von XSD generieren muss.
Ich könnte es beheben, indem ich die fehlende Lebenszyklus-Mapping lieferte, wie in beschrieben diese Seite

Ich habe es nach dem Blog -Beitrag behoben Upgrade der Maven -Integration für die Springource Tool Suite 2.8.0.

Befolgen Sie die Ratschläge im Abschnitt mit dem Titel "Oh oh ... meine Projekte bauen nicht mehr"Auch wenn es für die SpringSource Tool Suite beabsichtigt ist, habe ich sie verwendet, um eine regelmäßige Sonnenfinsternis -Installation zu beheben. Ich musste meine POM -Dateien nicht ändern.

Verwenden M2E 0,12, letzte Version vom Sonatyp.

Dieser Fehler erfolgt auch bei Neon aufgrund des fehlenden M2E -Steckers. Lösung: Schwebefehler und SELECT - Entdecken Sie neue M2E -Anschlüsse.

Es wird einen neuen Anschluss installieren und das ist es.

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 in

<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 Testkompilenphase zu binden. Das Finden einer anderen Phase ist möglicherweise eine alternative Lösung für das Hinzufügen von Plugin-Management-Konfiguration zum Maven-Lebenszyklus.

Wo finde WTP:

Maus auf <plugin> in pom.xml und 'neue M2E -Stecker entdecken.

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

Ich hatte genau das gleiche Problem, nachdem ich M2E aktualisiert und durch Neuinstallation der Maven -Integration für Eclipse WTP gelöst hatte.

Wie sich herausstellt, habe ich es deinstalliert, M2E von Version 0.x bis 1.x zu aktualisieren

Ich hatte dieses Problem heute. Ich habe STS 3.4 mit seinem gebündelten Roo 1.2.4 verwendet. Später versuchte ich es mit Eclipse Kepler und Roo 1.2.5, gleicher Fehler.

Ich habe mein pom.xml -Plugintemplates -Tag nach Build und vor der Plugins -Deklaration geändert, hat aber nicht funktioniert.

Was machte die Magie für mich:

  • Verwenden Sie JDK 1.7.0_51
  • Heruntergeladen Roo 1.2.5
  • Heruntergeladener Maven 3.2.1 (wenn nicht, wenn nicht ausgeführt wird "Eclipse durchführen". Dieser Fehler erscheint "Fehler = 2, keine solche Datei oder Verzeichnis").
  • Konfigurierte JDK-, Roo- und Maven -Bin -Verzeichnisse auf meinem Weg:

    Exportpfad =/opt/jdk1.7.0_51/bin: $ path Export Path =/opt/Spring-Roo-1.2.5.Release/bin: $ Pfad Export Path =/opt/apache-maven-3.2.1/bin : $ Path

Machte meine Konfiguration wie folgt: (http://docs.spring.io/spring-roo/reference/html/begegning.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

Offen mit Eclipse (nichts von STS, aber ich denke, es funktioniert): Import -> Bestehende Projekte in den Arbeitsbereich

Ich habe genau das gleiche Problem mit dem Maven Thrift Plugin gestoßen. Hier ist meine Lösung, die nicht erforderlich ist, um Ihre pom.xml durcheinander zu bringen:

  1. Verwenden Sie die Befehlszeile Maven Utility MVN

    MVN Eclipse: Sonnenfinsternis

    Um ein Eclipse -Projekt zu erstellen

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

    Datei> Import> Allgemein> Bestehende Projekte in den Arbeitsbereich

    Um das Projekt in Ihren Arbeitsbereich hinzuzufügen.

Dies sollte das Problem beheben.

Anstatt Ihre POM -Datei durcheinander zu bringen, würde ich Ihnen vorschlagen Ansicht anzeigenMarkierungen Wählen Sie in Eclipse die Marker entsprechender Fehler aus und löschen Sie sie.

Wenn Sie Eclipse Juno verwenden, könnte dies das Problem sein Maven -Integration für Eclipse WTP . Installieren Sie dasselbe vom Eclipse Market Place.

In Eclipse IDE helfen

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

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

Fertig. Problem gelöst (außer dass Sie gerade Ihre Maven -Konfiguration gebrochen haben ...).

Entwickler sollten sehr vorsichtig sein, dass sie Plugin-Management-Tags verstehen, bevor sie diese Lösungen durchführen. Nur das Plugin-Management in Ihre Plugins zu schlagen, ist wahrscheinlich das Maven-Build für alle anderen, nur um die Eclipse zum Laufen zu bringen.

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

Ändern

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

hinein

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

löste das Problem für mich.

Ich folgte dem GUI -Hinweis darauf, einen Connector zu finden, und dann fand ich Aspekte Integrator aus dem Springource -Team. Nach der Installation wurde es beigelegt.

Ich habe dies mit Eclipse V4.3 (Kepler) und Maven 3.1 begegnet.

Die Lösung besteht darin, einen JDK und keine JRE für Ihr Eclipse -Projekt zu verwenden. Versuchen Sie unbedingt maven clean und testen Sie von Eclipse nur, um fehlende JAR -Dateien herunterzuladen.

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

Ich weiß, sehr unhöflicher Ansatz.

Ich habe den gleichen Fehler. Nachdem es Folgendes gemacht hatte, ging es weg.

  1. Klicken Sie mit der rechten Maustaste auf das Projekt.
  2. Wählen Sie Maven> Projekt aktualisieren ...
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top