Frage Wie man die "Plugin-Ausführung, die nicht von der Lifecycle-Konfiguration abgedeckt wird" für Spring Data Maven Builds löst


Ich versuche zu arbeiten Frühlingsdaten und Neo4j. Ich fing an zu versuchen zu folgen dieser Leitfaden verlinkt mit der Hauptseite. Insbesondere habe ich meine pom.xml von 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 betreibe Eclipse 3.6.2 und m2e 0.13. Ich bin kein Maven-Experte, also bitte seien Sie sehr ausführlich in Ihren Antworten, wenn möglich.

Ich habe es auch versucht m2e 1.0.0 über diese Aktualisierungssite und immer noch den gleichen Fehler bekommen.


771
2018-06-15 02:04


Ursprung


Antworten:


In meinem Fall eines ähnlichen Problems, anstatt Andrew's Vorschlag für das Update zu verwenden, funktionierte es einfach, nachdem ich eingeführt hatte <pluginManagement> Markieren Sie die betreffende pom.xml. Scheint so, als ob dieser Fehler auf ein fehlendes <pluginManagement> -Tag zurückzuführen ist. Um also die Ausnahmen in Eclipse zu vermeiden, sieht es so aus, als müsste man einfach alle Plugin-Tags innerhalb eines einschließen <pluginManagement> Stichwort, so:

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

Sobald diese Struktur vorhanden ist, verschwindet der Fehler.


1109
2017-12-05 21:59



Was für ein Chaos. Ich kann mich nicht erinnern, wo ich das gefunden habe, aber ich musste folgendes hinzufügen, um M2Eclipse glücklich zu machen. Noch trauriger ist es, dass es nicht gerade einfach 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 Spring Data funktionierten. Am Ende habe ich M2Eclipse zugunsten der Apache Eclipse-Plugin.


382
2018-06-16 13:22



Der schnellste Weg, dies zu lösen, ist (von Eclipse m2e Dokumentation):

  1. benutzen schnelle Lösung auf den Fehler in pom.xml und wählen Sie Permanently mark goal run in pom.xml as ignored in Eclipse build - Dadurch wird für Sie der erforderliche Standardcode generiert.

  2. Danach ersetzen Sie einfach die <ignore/> Tag mit <execute/> Tag in der generierten Konfiguration und du bist fertig:

    <action>
        <execute/>
    </action>
    

182
2018-02-11 10:08



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

Fenster > Einstellungen > Maven > Fehler / Warnungen > Plugin-Ausführung nicht durch die Lifecycle-Konfiguration abgedeckt. Wählen Ignorieren / Warnung / Fehler wie du möchtest.

Auch in der Schnellkorrektur (Strg + 1) für diesen Fehler gibt es eine Option zu Ziel als ignoriert in Eclipse-Build in Eclipse-Einstellungen (experimentell) markieren

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

Sie müssen ein tun Maven > Projekt aktualisieren um den gleichen Fehler in jedem anderen Projekt zu beheben.


139
2017-12-11 19:13



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

Um einige langjährige Probleme zu lösen,   m2e 1.0 benötigt explizite Anweisungen   was mit allen Maven-Plugins zu tun ist   gebunden an "interessante" Phasen von   Projekt erstellen Lebenszyklus. Wir nennen diese   Anweisungen "Projekt bauen Lebenszyklus   Mapping "oder einfach" Lifecycle Mapping "   weil sie definieren, wie m2e maps   Informationen aus der Projektdatei pom.xml   zum Eclipse-Arbeitsbereichsprojekt   Konfiguration und Verhalten während   Eclipse-Arbeitsbereich erstellen

Projekt erstellen Lebenszykluszuordnung   Konfiguration kann in angegeben werden   Projekt pom.xml, beigetragen von   Eclipse-Plugins und es gibt auch   Standardkonfiguration für einige   Häufig verwendete Maven-Plugins ausgeliefert   mit m2e. Wir nennen diese "Lebenszyklus"   Zuordnung von Metadatenquellen ". m2e will   Erstelle Fehlermarker wie unten für alle   Plugin-Ausführungen, die nicht haben   Lifecycle Mapping in einem der   Zuordnen von Metadatenquellen.

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 stimmt mit dem Plugin überein   Ausführungen zu Aktionen mit   Kombination von Plugin groupId,   artifactId, Versionsbereich und Ziel   Es gibt drei grundlegende Aktionen, die m2e   kann mit einem Plugin beauftragt werden   Ausführung -- ignorieren, ausführen und   delegiere zu einem Projekt Konfigurator.


105
2018-06-25 00:57



m2e 0.13 vorstellen a m2e Anschlüsse und m2e Marktplatz um m2e Funktionen zu erweitern. Es ist wie im alten m2e-Extras-Repository.

Sie können den m2e Marktplatz von den Vorzügen erreichen: Einstellungen> Maven> Erkennung> Katalog öffnen. Installieren WTP-Integration löste die meisten Plugin-Probleme für mich.


27
2018-06-23 14:43



Als Addendum zu den vorherigen Antworten gibt es einen Workaround, den ich gerade entdeckt habe, wenn Sie nicht alle diesen Standardbaustein 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 namens finden lifecycle-mapping-metadata.xml wo Sie die gleichen Änderungen vornehmen können, die in den anderen Antworten und in beschrieben sind M2E-Plugin-Ausführung nicht abgedeckt.


20
2018-05-16 18:44



Beachten Sie, dass die M2Eclipse (m2e) -Version 1.7.0, die im heutigen Eclipse Neon-Release-Zug verfügbar ist, eine neue Syntax zur Angabe von Lifecycle-Mapping-Metadaten unterstützt. Als Ergebnis haben wir so ein Beispiel (hier sagen wir m2e, 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 im Ausführungsknoten des Plugins durch eine einzige Zeile ersetzt werden:

<?m2e ignore?>

enter image description here

Siehe die Versionshinweise für Details.


19
2018-06-22 21:25