How to solve "Plugin execution not covered by lifecycle configuration" for Spring Data Maven Builds

EclipseMavenSpring DataM2eclipse

Eclipse Problem Overview


I am trying to work with Spring Data and Neo4j. I started by trying to follow this guide linked to by the main site. In particular I based my pom.xml off of the "Hello, World!" example file. Here is a snip from my pom.xml for the plugin that is causing the issues...

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

The error I am seeing is:

 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)

I am running Eclipse 3.6.2 and m2e 0.13. I'm not a Maven expert, so please be very explanatory in your answers if possible.

I've also tried m2e 1.0.0 via this update site and still get the same error.

Eclipse Solutions


Solution 1 - Eclipse

In my case of a similar problem, instead of using Andrew's suggestion for the fix, it worked simply after I introduced <pluginManagement> tag to the pom.xml in question. Looks like that error is due to a missing <pluginManagement> tag. So, in order to avoid the exceptions in Eclipse, one needs to simply enclose all the plugin tags inside a <pluginManagement> tag, like so:

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

Once this structure is in place, the error goes away.

Solution 2 - Eclipse

What a mess. I don't remember where I found this but I had to add the following to get M2Eclipse to be happy. Even more sad is that it isn't exactly easy to understand why this tag is needed.

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

There were a number of other issues with the M2Eclipse plug-in that simply didn't work with Spring Data. In the end I disabled M2Eclipse in favor of the Apache Eclipse plug-in.

Solution 3 - Eclipse

In Eclipse Luna 4.4.0, you can chose to ignore this error in preferences

Window > Preferences > Maven > Errors/Warnings > Plugin execution not covered by lifecycle configuration. Select Ignore / Warning / Error as you wish.

Also, in the quick fix (Ctrl + 1) for this error, it gives an option to mark goal as ignored in Eclipse build in Eclipse preferences (experimental)

This is a cleaner way, as it doesn't modify your pom.xml.

You will need to do a Maven > Update project to fix the same error in any other project as well.


In STS(Spring-tool-suite), you can choose to ignore this error in preferences

Window > Preferences > Maven > Errors/Warnings > Plugin execution not covered by life-cycle configuration. Select Ignore / Warning / Error as your wish. Then. Right click the project click Maven and update the project then error will gone.

Solution 4 - Eclipse

Suggested solution from Eclipse m2e documentation:

  1. Use quick-fix on the error in pom.xml and select Permanently mark goal run in pom.xml as ignored in Eclipse build - this will generate the required boilerplate code for you.

  2. To instruct Eclipse to run your plugin during build - just replace the <ignore/> tag with <execute/> tag in the generated configuration:

     <action>
         <execute/>
     </action>
    

Alternatively you can instruct Eclipse to run the plugin on incremental builds as well:

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

Solution 5 - Eclipse

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

> To solve some long-standing issues, > m2e 1.0 requires explicit instructions > what to do with all Maven plugins > bound to "interesting" phases of > project build lifecycle. We call these > instructions "project build lifecycle > mapping" or simply "lifecycle mapping" > because they define how m2e maps > information from project pom.xml file > to Eclipse workspace project > configuration and behaviour during > Eclipse workspace build. > > Project build lifecycle mapping > configuration can be specified in > project pom.xml, contributed by > Eclipse plugins and there is also > default configuration for some > commonly used Maven plugins shipped > with m2e. We call these "lifecycle > mapping metadata sources". m2e will > create error marker like below for all > plugin executions that do not have > lifecycle mapping in any of the > mapping metadata sources. > > 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 matches plugin > executions to actions using > combination of plugin groupId, > artifactId, version range and goal. > There are three basic actions that m2e > can be instructed to do with a plugin > execution -- ignore, execute and > delegate to a project configurator.

Solution 6 - Eclipse

m2e 0.13 introduce a m2e connectors and m2e Market Place to extend m2e features. It's like the old m2e-extras repository.

You can access the m2e market place from the preferences: Preferences>Maven>Discovery>Open Catalog. Installing WTP integration solved most plugin issues for me.

Solution 7 - Eclipse

Note that the M2Eclipse (m2e) version 1.7.0 available in today's Eclipse Neon release train supports new syntax for specifying lifecycle mapping metadata. As a result boilerplate like this (here we're telling m2e to ignore the goal):

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

can be replaced with a single line in the plugin's execution node:

<?m2e ignore?>

enter image description here

See the release notes for details.

Solution 8 - Eclipse

Change the Maven preferences for plugin execution from error to ignore

Solution 9 - Eclipse

As an addendum to the previous answers -- there's a workaround I just discovered for if you can't or don't want to add all this boilerplate to your project POM. If you look in the following location:

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

You should find a file called lifecycle-mapping-metadata.xml where you can make the same changes described in the other answers and in M2E plugin execution not covered.

Solution 10 - Eclipse

I had the same problem with Eclipse v3.7 (Indigo) and m2eclipse as my Maven plugin. The error was easily solved by explicitly stating the execution phase within the plugin definition. So my pom looks like this:

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

Solution 11 - Eclipse

  1. Go to Help > Install New Software...

  2. Use this software repository

    Make sure "Contact all update sites during install to find required software" is checked.

  3. Install the AJDT m2e Configurator

Source: Upgrading Maven integration for SpringSource Tool Suite 2.8.0 (Andrew Eisenberg)

This should automatically install ADJT if you don't have it installed, but if it doesn't, install AspectJ Development Tools (ADJT) first from "Indigo update site" (according to your Eclipse version).

More info on AspectJ Development Tools site.

Solution 12 - Eclipse

I've had the same problem with indigo and a project that needs to generate Java sources from XSD.
I could fix it by supplying the missing life-cycle mapping, as described on this page

Solution 13 - Eclipse

I fixed it following blog post Upgrading Maven integration for SpringSource Tool Suite 2.8.0.

Follow the advice on the section called "Uh oh…my projects no longer build". Even when it's intended for SpringSource Tool Suite I used it to fix a regular Eclipse installation. I didn't have to modify my pom files.

Solution 14 - Eclipse

Goto workspace/rtc-ws/.metadata/.plugins/org.eclipse.m2e.core/lifecycle-mapping-metadata.xml then create lifecycle-mapping-metadata.xml file and paste below and reload configuration as below

If you are using Eclipse 4.2 and have troubles with mapping and won't put mess into yours pom.xml create new file lifecycle-mapping-metadata.xml configure it in Windows -> Preferences -> Lifecycle mapping (don't forget press Reload workspace lifecycle mappings metadata after each change of this file!). Here is example based on 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>

Solution 15 - Eclipse

This error happens also on neon because of missing m2e connector. Solution: hover error and select - Discover new m2e connectors.

It will install new connector and that is it.

Solution 16 - Eclipse

Use m2e 0.12, last version from Sonatype.

Solution 17 - Eclipse

I had the exact same problem after updating m2e and solved it by reinstalling Maven Integration for Eclipse WTP.

As it turns out, I uninstalled it trying to update m2e from version 0.x to 1.x

Solution 18 - Eclipse

I was using

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

and changed it to

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

and the error went away. Maybe it's not recommended to bind an execution to the test-compile phase so finding a different phase might be an alternate solution to adding plugin-management configuration to the maven lifecycle.

Solution 19 - Eclipse

Where find WTP:

Mouse down on < plugin > in pom.xml and 'Discover new m2e connectors'.

I installed them all what are default checked and it works.

Solution 20 - Eclipse

Changing

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

into

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

solved the problem for me.

Solution 21 - Eclipse

I had this problem today. I was using STS 3.4 with its bundled Roo 1.2.4. Later I tried with Eclipse Kepler and Roo 1.2.5, same error.

I've changed my pom.xml adding pluginTemplates tag after build and before plugins declaration but didn't work.

What made the magic for me:

  • Using jdk 1.7.0_51

  • Downloaded Roo 1.2.5

  • Downloaded Maven 3.2.1 (if not, when executes "perform eclipse" this error appears "error=2, no such file or directory")

  • Configured JDK, Roo and Maven bin directories on my 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

Made my configuration as following: (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

Open with Eclipse (nothing of STS, but I guess it works): Import -> Existing Projects into Workspace

Solution 22 - Eclipse

Instead of messing up your pom file, I would suggest you to go to Show ViewMarkers in Eclipse, select and delete the markers of appropriate errors.

Solution 23 - Eclipse

I encountered exact the same problem with maven thrift plugin. Here's my solution which requires no need to mess up your pom.xml:

  1. Use command line maven utility mvn

    > mvn eclipse:eclipse

    to create a eclipse project

  2. Import the project in eclipse. Remember to use > File > Import > General > Existing Projects into Workspace

    to add the project into your workspace.

This should fix the problem.

Solution 24 - Eclipse

This answer is just as good the top plugin-management answer above (which is to say, it's terrible).

Just delete all the offending xml code in the pom.

Done. Problem solved (except you just broke your maven config...).

Devs should be very careful they understand plugin-management tags before doing any of these solutions. Just slapping plugin-management around your plugins are random is likely to break the maven build for everyone else just to get eclipse to work.

Solution 25 - Eclipse

I followed the GUI hint to finding any connector, and then I found AspectJ Integrator from SpringSource Team. After installation, it was settled.

Solution 26 - Eclipse

I encountered this using Eclipse v4.3 (Kepler) and Maven 3.1.

The solution is to use a JDK and not a JRE for your Eclipse project. Make sure to try maven clean and test from Eclipse just to download missing JAR files.

Solution 27 - Eclipse

If you are using Eclipse Juno, it could be the issue of Maven Integration For Eclipse WTP . So install the same from Eclipse Market Place.

In Eclipse IDE Help>>Eclipse Market Place >> type the query wtp and it will show maven integration for eclipse WTP for Juno, install it and update the maven dependencies and enjoy

Solution 28 - Eclipse

I got the same error. After doing the following it went away.

  1. Right click on the project.
  2. Select Maven > Update Project...

Solution 29 - Eclipse

you can suppress this error in eclipse: Window -> Preferences -> Maven -> Error/Warnings

Solution 30 - Eclipse

For me this was caused by AspectJ classes. I could not find a plugin under Discovery that could help. So, I fixed this by copying the org.maven.ide.eclipse.ajdt files, under plugin and feature folders, of an existing STS installation.

I know, very rude approach.

Solution 31 - Eclipse

I'm meeting this problem for years... eclipse' shame. If your app is split into maven modules then you may consider removing affected modules from IDE, whenever you need to regenerate/run the plugin use maven command line with install, eclipse is then happy with prepared artifacts present in your local repository. No fiddle-around needed.

Solution 32 - Eclipse

The error occurs when you use a life cycle phase that is not supported by the plugin. So the fix is to change the life cycle phase that works with the plugin.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAndrew WhiteView Question on Stackoverflow
Solution 1 - EclipseSimeon LeyzerzonView Answer on Stackoverflow
Solution 2 - EclipseAndrew WhiteView Answer on Stackoverflow
Solution 3 - EclipseShaKaView Answer on Stackoverflow
Solution 4 - EclipseVedranView Answer on Stackoverflow
Solution 5 - EclipseThomas BroyerView Answer on Stackoverflow
Solution 6 - EclipsenoirbizarreView Answer on Stackoverflow
Solution 7 - EclipseDavidView Answer on Stackoverflow
Solution 8 - Eclipsekvm006View Answer on Stackoverflow
Solution 9 - EclipsehtompkinsView Answer on Stackoverflow
Solution 10 - EclipseKristiaanView Answer on Stackoverflow
Solution 11 - EclipseHendy IrawanView Answer on Stackoverflow
Solution 12 - EclipseTillmannView Answer on Stackoverflow
Solution 13 - EclipseChepechView Answer on Stackoverflow
Solution 14 - Eclipsefatih tekinView Answer on Stackoverflow
Solution 15 - EclipseTamer AwadView Answer on Stackoverflow
Solution 16 - EclipseOh Chin BoonView Answer on Stackoverflow
Solution 17 - EclipseLisandroView Answer on Stackoverflow
Solution 18 - EclipseBobView Answer on Stackoverflow
Solution 19 - EclipsesiOnzeeView Answer on Stackoverflow
Solution 20 - EclipsedontcareView Answer on Stackoverflow
Solution 21 - EclipsecamposerView Answer on Stackoverflow
Solution 22 - EclipseBharath LakshmanView Answer on Stackoverflow
Solution 23 - EclipsePickBoyView Answer on Stackoverflow
Solution 24 - EclipseMichael HaefeleView Answer on Stackoverflow
Solution 25 - Eclipsedeng huiView Answer on Stackoverflow
Solution 26 - EclipseYamatoView Answer on Stackoverflow
Solution 27 - EclipseMohammed Irfan TirupatturView Answer on Stackoverflow
Solution 28 - EclipseLilylakshiView Answer on Stackoverflow
Solution 29 - EclipsePankaj RastogiView Answer on Stackoverflow
Solution 30 - EclipseDevCatView Answer on Stackoverflow
Solution 31 - EclipsetomasbView Answer on Stackoverflow
Solution 32 - EclipseabbasView Answer on Stackoverflow