Jacoco Maven Plugin - Plugin execution not covered by lifecycle configuration

26,590

Solution 1

You can ignore the plugin goal, adding something like this to your pom.xml

<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>

Solution 2

As this is related to the Eclipse Maven plugin, alternatively this can be set locally in Eclipse's preferences. Moving the configuration out of the project's pom file helps the code simple and clean, free of IDE particulars.

Go to Eclipse --> Preferences --> Maven --> Lifecycle Mappings. Add lifecycle-mapping-metadata.xml as the following:

<?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>

Reload the life-cycle mappings file and then Maven --> Update Project

Share:
26,590
Markus
Author by

Markus

Updated on July 05, 2022

Comments

  • Markus
    Markus about 2 years

    I'm new to Maven and want to use the Jacoco Maven Plugin to build my projects.

    I've set up an example project with TestNG the only dependency.

    Here is part of the 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>
    

    And i get this error:

    Plugin execution not covered by lifecycle configuration: org.jacoco:jacoco-maven- plugin:0.6.2.201302030002:prepare-agent (execution: default, phase: initialize)

    What am I doing wrong ? Cheers

  • SkorpEN
    SkorpEN over 9 years
    Add this inside <build> </build> tags
  • Pat
    Pat over 6 years
    This does not answer the question. The question is specifically about the plugin error. Using command line does not solve the error
  • BJYC
    BJYC over 6 years
    @Pat It does answer the question. This answer explains a way to ignore the warning, please read it again closely. If you follow the instruction here, your POM file will be updated started with the comment line in the code section, to ignore the warnings. the CLI is just alternative.
  • Pat
    Pat over 6 years
    I still believe that ignoring the plugin in Eclipse does not solve the issue, it is merely a workaround. The whole point of using a maven plugin in Eclipse is so that I don't have to go to command line and type in those 'mvn' commands. This workaround does not solve the actual error.