wake-up-neo.com

Jacoco Maven Plugin - Die Ausführung des Plugins wird nicht von der Lebenszykluskonfiguration abgedeckt

Ich bin neu bei Maven und möchte das Jacoco Maven Plugin verwenden, um meine Projekte zu erstellen.

Ich habe ein Beispielprojekt mit TestNG als einzige Abhängigkeit eingerichtet.

Hier ist ein Teil der pom.xml:

<dependencies>
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>6.8</version>
    </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.6.2.201302030002</version>
            <executions>
                <execution>
                    <goals>
                        <goal>prepare-agent</goal>
                    </goals>
                </execution>
                <execution>
                    <id>report</id>
                    <phase>prepare-package</phase>
                    <goals>
                        <goal>report</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

Und ich bekomme diesen Fehler:

Plugin-Ausführung, die nicht durch die Lebenszykluskonfiguration abgedeckt ist: org.jacoco: jacoco-maven - Plugin: 0.6.2.201302030002: Vorbereitungsagent (Ausführung: Standard, Phase: Initialisieren)

Was mache ich falsch? Prost

18
Markus

Sie können das Plugin-Ziel ignorieren, indem Sie Ihrer pom.xml so etwas hinzufügen

<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.jacoco</groupId>
                                    <artifactId>jacoco-maven-plugin</artifactId>
                                    <versionRange>[0.5,)
                                    </versionRange>
                                    <goals>
                                        <goal>prepare-agent</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <!-- m2e doesn't know what to do with jacoco,
                                        let's ignore it or annoying error markers appear
                                        see http://wiki.Eclipse.org/M2E_plugin_execution_not_covered
                                     -->
                                    <ignore></ignore>
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
18
Iker Aguayo

Da dies mit dem Eclipse Maven-Plugin zusammenhängt, kann dies alternativ lokal in den Eclipse-Voreinstellungen festgelegt werden. Wenn Sie die Konfiguration aus der POM-Datei des Projekts verschieben, können Sie den Code einfach und sauber und ohne IDE -Daten löschen.

Gehen Sie zu Eclipse -> Preferences -> Maven -> Lifecycle Mappings. Fügen Sie lifecycle-mapping-metadata.xml wie folgt hinzu:

<?xml version="1.0" encoding="UTF-8"?>
<lifecycleMappingMetadata>
  <pluginExecutions>
    <pluginExecution>
      <pluginExecutionFilter>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <versionRange>[0.5,)</versionRange>
        <goals>
          <goal>prepare-agent</goal>
        </goals>
      </pluginExecutionFilter>
      <action>
        <ignore />
      </action>
    </pluginExecution>
  </pluginExecutions>
</lifecycleMappingMetadata>

Laden Sie die Lebenszyklus-Zuordnungsdatei erneut und dann Maven -> Update Project.

14
neurite

Eclipse bietet jetzt eine schnelle Lösung zum Deaktivieren der Warnung und zum Speichern der in den Benutzervorgaben (in Eclipse -> Voreinstellungen -> Maven -> Lebenszykluszuordnungen - Lebenszyklus-Mapping-Metadaten.xml, wie von @ iker-aguayo angegeben), so dass Sie dies tun Die Datei muss nicht manuell erstellt oder bearbeitet werden. Dies ist nützlich in Fällen, in denen Sie das POM nicht aktualisieren können (z. B. ein Open Source-Projekt, für das Sie keine Festschreibung ausführen können.)

0
djb