953

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.

peterh
  • 9,698
  • 15
  • 68
  • 87
Andrew White
  • 50,300
  • 17
  • 108
  • 132
  • 1
    What version of maven are you using? Spring Data (Graph) has used maven2 for its build process (mostly because docbook-plugin issues). (BTW. the spring data projects will migrate to gradle soon :) – Michael Hunger Jun 16 '11 at 13:59
  • 1
    For eclipse I am using the 3.0.3 integrated maven (whatever comes with m2e). Is all of Spring moving to gradle or just Spring Data? – Andrew White Jun 16 '11 at 14:28
  • 1
    Forget about this working with Groovy. What a nightmare. I can't even use Indigo now because of this travesty. – Spencer Kormos Aug 29 '11 at 16:57
  • Can anyone share a link to the place this new mode of operation for M2E is documented? – HDave Nov 14 '11 at 06:02

33 Answers33

1431

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.

Simeon Leyzerzon
  • 17,374
  • 7
  • 44
  • 68
  • 6
    This worked for me. My pom.xml was generated by Spring Roo and was missing the pluginManagement tag. Looks like this might be a Roo issue in some cases... – Eric Freese Dec 10 '12 at 21:40
  • 32
    Works for me too, but can anyone explain why? – Andrew Swan May 15 '13 at 06:26
  • 100
    @Andrew I think this works because m2e is not looking for plugins in `pluginManagement`, but only in `build/plugins`. In the Maven world, there is a difference between the two - the former defines "if you happen to use this plugin, here's the configuration to use", whereas the latter states "use this plugin". See [this post](http://stackoverflow.com/questions/10483180/maven-what-is-pluginmanagement) and its top two answers. – GreenGiant Jul 05 '13 at 17:52
  • 33
    I agree with @GreenGiant. I tried this solution but it then breaks the compilation since the aspectj plugin is not called before compilation. – Pierre Aug 30 '13 at 20:21
  • Worked fine with Spring Roo / STS, switched project to Eclipse Kepler, did not work there, adding this tag made it work - thanks! – Matthias Wuttke Sep 20 '13 at 10:12
  • 1
    This will help you get rid of the error, but if you are using AOP you might be actually needing to install these plugins: [AJDT](http://download.eclipse.org/tools/ajdt/43/update) and/or [AJDT Configurator](http://dist.springsource.org/release/AJDT/configurator). – izilotti Apr 25 '14 at 15:15
  • 1
    I use this for eclipselink static weaving. If we add `pluginManagement` weaving step is not executed. I had upvoted this answer long ago as this had solved another problem of mine, but now i think this is not the right solution (cannot change the upvote as it is locked now). I used "ignore this error" option in eclipse - weaving still happens from command-line maven build. – gammay Jul 11 '14 at 11:42
  • 27
    Not valid for me. Fixes the error in Eclipse, but breaks the generation of WS code with wsimport using jaxws-maven-plugin. *"Permanently mark goal wsimport in pom.xml as ignored in Eclipse build"* seems to add more stuff in pom.xml and fixes it for m2e. – nephewtom Mar 17 '15 at 13:35
  • 40
    Errrr... It looks like that only works because it turns off all the plugins in question..... Taking them out entirely would also work, but I'm assuming they're in there for a reason? Devs should make sure they absolutely understand what they are doing with maven before using this "fix". – Michael Haefele Apr 12 '16 at 14:08
  • 24
    This is clearly the wrong solution, as it simply disables all plugins. Plugins listed under `pluginManagement` are no longer executed, they are simply there to provide configuration in case the plugin is used. Please don't use this fix, as it will simply create new problems for you... – nwinkler Sep 14 '16 at 13:29
  • I believe this works with multi-module projects in which the plugins are managed by the parent pom. In single module projects this might cause issues. I'm not sure but I assume that is why it works for some people. – lastmannorth Dec 20 '16 at 14:09
  • 1
    Just in case you have a multi-module project: in my case I was calling the plugin execution from the parent but not all child modules were using the plugin. Thus I had to enclose the `` of the parent in `` and I did not have to change anything in the child modules. – omni Jan 29 '17 at 09:31
  • Be careful with this solution. Like others comments fixes errors in Eclipse, but it disables plugins like "maven-antrun-plugin" and "grails-maven-plugin". I choosed this solution because it has a lot of positive votes, so I didn't read the warnings in the comments. Now, I cannot vote down. – Lucas Mar 28 '18 at 20:59
  • Adding broke Maven builds on the commandline. In the end, I marked the goal as ignored in Eclipse build, thanks @nephewtom – GeraldScott Jan 12 '19 at 18:41
  • For me even though this solution stopped eclipse from complaining, it still broke during the compilation time. I believe the answer that suggesst configuring this plugin with m2e is more deserved to show on top, since I tried that and everything works after that, my plugin will run every time when I call Maven update. – n4feng Apr 22 '19 at 15:57
  • Note everyone saying this disabled all plugins: If you simply enclose all plugins by then yes, you effectively turn most plugins off since you're only configuring them, not actually calling them. You need a separate ... under build with a ...... for each plugin you want to run (without any config, since you put the config in the pluginmgmt). This makes sure the plugin is actually called during the build. – Buurman May 22 '19 at 11:27
  • 3
    This is **not** a solution. It only ignores the error by not showing it anymore. The only solution is to **install** the missing plugin. – nimo23 Dec 04 '19 at 11:43
  • Not valid one...It remove error from eclipse only...My avro plugin not working after adding this pluginmanagement....after removing pluginmanagement,It only show error in eclipse but pom working fine.... – Komal Mar 23 '21 at 12:33
421

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.

BuZZ-dEE
  • 3,875
  • 7
  • 48
  • 76
Andrew White
  • 50,300
  • 17
  • 108
  • 132
  • 3
    What plugin repository hosts the org.eclipse.m2e:lifecycle-mapping plugin? – Nathan Feger Jun 23 '11 at 20:41
  • 6
    If your eclipse can´t find org.eclipse.m2e:lifecycle-mapping plugin it´s because you put the snippet above in the wrong plugin list in the pom, it has to go under pluginManagement – mkraemerx Aug 29 '11 at 11:13
  • 1
    FYI: If a custom plugin was specified in a profile, then I had to setup the lifecycle mapping in the same profile. Specifying it "in general" in build/pluginManagement outside of the profile that contained the plug-in did not resolve the error. Configuring the same information in the profile/build/pluginManagement did. – Bert F Sep 26 '11 at 16:49
  • 66
    note: m2e 1.x can do this automatically as a Quick Fix from the Problems view – Brad Cupit Sep 27 '11 at 15:59
  • 2
    @Brad: The problem with the Quick Fix is that this modifies the project files that are necessarily part of the project in the repository. – Donal Fellows Oct 21 '11 at 14:26
  • 7
    Thanks: m2e offered me a 'quickfix' for a plugin it didn't recognise, which generated all the above except with instead of . It didn't offer the option, which works! Maddening! – laher Dec 19 '11 at 03:44
  • Just want to add that I was a little confused as to where this hunk of magic goes. In my case, because I was trying to get rid of Hibernate schema and Java code generation plugin errors, I had to add this to the section where I added those Hibernate plugins. – Marvo Dec 30 '11 at 04:58
  • 10
    Yes, stuff goes under . You would think the m2 page would mention this trifle. – jjohn Jan 18 '12 at 14:49
  • Now it's getting executed but leads to an error "`Execution default of goal my.maven.plugin failed`", but if I use it from the console it works great. Is there any way to get a stacktrace out of this? I can't figure out what happens since it only procudes this error in the "Problem" view. – Christopher Klewes Mar 08 '12 at 10:30
  • I was very miffed that the spring-mvc-showcase project did not work out-of-the-box when downloaded via STS; but, this fixed my issue. Thanks. – RMorrisey Feb 20 '13 at 14:50
  • 3
    You might have found this solution on http://wiki.eclipse.org/M2E_plugin_execution_not_covered. – Markus Schulte Mar 04 '13 at 16:42
  • 2
    Yes it is a mess. Fortunately, with Eclipse Juno and m2e 1.3 I can open the `pom.xml` in Eclipse, left-click in the offending `execution` tag (duly marked in red) and a contextual menu offers me to add the `ignore` Eclipse markup. – SJuan76 Jun 19 '13 at 15:16
  • It might be worth mentioning that this tag is needed _in addition_ to the `` tag. As a Maven newbie I spent an afternoon wondering why my plugins weren't running after applying this fix. (Or I might be misunderstanding, correct me if I'm wrong.) – Harry Cutts Aug 16 '13 at 10:08
  • 3
    Read this to understand more about the configuration in your answer: http://wiki.eclipse.org/M2E_plugin_execution_not_covered – Stanley Aug 20 '13 at 09:56
  • *sigh* this did NOT work for me (running Kepler, with maven 3.1.1). On the upside, the project builds fine with a Maven build configuration. So I guess I have that going for me. – demaniak Dec 08 '13 at 14:07
  • 1
    @JBCP it was but I changed it since the higher voted answer also worked and appeared to fit better into the maven philosophy – Andrew White Sep 15 '14 at 14:20
  • 4
    @AndrewWhite - moving the definition to pluginManagement just hides the execution of the plugin from the current module. Configuring the lifecycle-mapping plugin tells Eclipse how and when to actually run the plugin. Unless you have other modules that depend on the module in question, moving the definition to pluginManagement is the same as deleting it entirely: http://maven.apache.org/pom.html#Plugin_Management – JBCP Sep 15 '14 at 22:26
  • @AndrewWhite - thanks for changing it back. The higher voted answer is incorrect and misleading. – JBCP Oct 24 '14 at 16:55
  • 1
    I got the same issue with Eclipse 4.4.SR1 Luna while importing a maven project. The only fix was installing Maven Integration for Eclipse (Luna and newer) 1.5 (http://marketplace.eclipse.org/content/maven-integration-eclipse-luna-and-newer) and re-import he project again. – Raphael Bossek Jan 11 '15 at 10:59
  • Is it really good to delcare m2e-specific things in `pom`? It's useless for `IntelliJIdea` users, isn't? – St.Antario Jan 18 '16 at 08:36
  • [this answer](https://stackoverflow.com/a/26447353/775467) has some details on why this is needed – coderplus May 15 '18 at 03:12
  • The central Maven repository no longer seems to have that plugin: https://search.maven.org/search?q=lifecycle-mapping – Raedwald Jan 26 '21 at 09:23
  • @AndrewWhite could you mark this as the accepted answer? I know it's an old question, but extremely visited. This answer solves the problem, while the accepted one doesn't (it only hides it by actually removing the plugin...). – AJPerez May 05 '21 at 10:51
244

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.

Stephen C
  • 632,615
  • 86
  • 730
  • 1,096
ShaKa
  • 2,457
  • 1
  • 12
  • 3
  • Perfect. Worked for me flawlessly. Thanks for sharing. – Ajay Kumar Jan 31 '20 at 15:35
  • I used it too in eclipse 2020-03, I'm not sure why the error came out this time when I imported the project, I did it before at least 4 times on other computers without any problem. I'm new to eclipse I have to say that, i'm still understanding how it build things, which of them, and when :-D – funder7 Apr 24 '20 at 07:13
  • This is the right answer. Thanks. I'am using Red Hat CodeReady Studio which is Eclipse based tool. – Igor Vuković May 11 '20 at 14:04
  • How is this a fix? Instead of Eclipse complaining that it's not generating my source code (by flagging a line in POM.XML with a red X and the error message "Plugin execution not covered by lifecycle configuration"), with this change Eclipse just silently doesn't generate my source code. – mbmast Jun 02 '20 at 22:58
  • This just DISABLES the plugin!! – Alex Byrth Jun 03 '20 at 03:09
220

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>
    
Vedran
  • 8,380
  • 4
  • 43
  • 57
  • 6
    Also you can add `false|true` inside the execute tag, to make eclipse call this maven plugin on incremental builds. – Matthias B Aug 06 '14 at 07:15
  • 4
    This solution worked for me as well, but it was not necessary to execute step 2) of the proposed workaround. – Valerio Schiavoni Nov 10 '14 at 19:00
  • 7
    If you don't mark them as "execute", the eclipse build won't run those plugin executions, but it might work as well. – mrod Feb 27 '15 at 10:28
  • Note that you can also add it globally to Eclipse with `Permanently mark goal run in eclipse preferences` and change to in _Eclipse preferences > Maven > Lifecycle Mappings > Open workspace lifecycle mappings metadata_. – PhoneixS Mar 22 '18 at 12:25
  • I had the same issue as the original poster, Mr. White with his org.codehaus errors, while importing the spring-mvc-showcase into Eclipse Oxygen today. Quick Fix alone did the trick, no manual editing of any kind, and it pulled AspectJ and AJDT just fine on its own to resolve the error. – Alz May 26 '18 at 20:22
  • I like this solution because you don`t have to mess with the POM (which we use in JBoss Dev Studio (Eclipse), command line and CI in the cloud. The only difference I can add (my error was showing for the toolchains plugin) is that the wording for my Quick Fix was "Mark goal toolchain as ignored in eclipse preferences" – PMorganCA May 31 '18 at 14:18
  • 2
    Thank you, this is the actual solution. Adding the tag only disables the plugin. – user3804769 Aug 02 '18 at 10:38
113

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.

Jaap
  • 476
  • 8
  • 15
Thomas Broyer
  • 63,827
  • 7
  • 86
  • 161
  • 95
    That is an explanation of the problem, not a solution at least not one that I can take and work with. – Andrew White Jun 26 '11 at 21:27
  • 55
    You gave the answer yourself, and it can be found on the page I linked to. If find it more important to understand what an error means (and then easily find how to fix it) than to blindly copy/paste some snippets. "Science without conscience is but the ruin of the soul." (François Rabelais) – Thomas Broyer Jun 27 '11 at 10:17
  • hmm, that wiki page has been updating since I posted my answer and also since I last read it. – Andrew White Jun 27 '11 at 11:38
  • 23
    Sorry, but I agree with Andrew, use this plugin is far more complicated then it should be. I was starting a new application and first i though the problem was my pow file, just when I try a pow that I know it should work, I saw that this problem was caused by m2e. Sorry guys, but I think a good pow file should just Work. Nobody knows everything about everything, i just want to use this plugin dont want know how it works. – Nei Dec 09 '11 at 01:16
  • 16
    I have to agree that this has gone the opposite way of the Maven manifesto (so to speak). It makes a simple thing so complex that even reading all about it, I can't get it to work half the time. I would much, much rather have to deal with some maven idiosyncrasy than deal with plugins not binding to lifecycle phases when they are supposed to. If this is an interim solution, then fine... but get it fixed because it's broken now. – Brill Pappin Dec 16 '11 at 14:49
  • Apparently this particular problem is actually a plugin problem. See: http://wiki.eclipse.org/M2E_compatible_maven_plugins Try updating the plugin version. However, I have to say that maven should not be crapping out this easily for the legacy plugins... possibly printing a huge warning, but not crapping out. – Brill Pappin Dec 16 '11 at 14:59
  • 14
    It's not Maven that's crapping out. Builds from the command line work. It's the m2eclipse plugin (built by the Eclipse folk) that is spewing out the error. I think the problem is that Maven has a different build lifecycle than Eclipse so they need you to make an explicit mapping. That's a great shame as it means you can apparently never use POM's as they are. You always have to add this mapping.... – Stijn de Witt Mar 11 '13 at 22:23
  • Interesting. So, am I right in thinking that we should not be modifying `pom`, but do it on the `Eclipse` level (e.g. add custom `lifecycle-metadata-mapping.xml`). In case of someone uses `ItelliJIdea`, they probably don't want to see `m2e`-specific plugin declaration in `pom`.... – St.Antario Jan 18 '16 at 08:35
  • From the link: _“If you have multiple Eclipse workspaces and/or work in a team, it is easy to get workspace-level configuration out-of-sync. This is unlikely to cause any confusion for `` mappings, but for `` and `` mappings configuration in `pom.xml` or maven-plugin is strongly recommended.”_ – so yes and no. Ideally, plugins should provide their own `lifecycle-mapping-metadata.xml` (or an Eclipse configurator, as an Eclipse plugin) so that as a user you don't have anything to configure. – Thomas Broyer Jan 18 '16 at 09:55
  • 2
    Try and understand all the jargon pointed to by Thomas Broyer's link. Gees, you have to be an Eclipse plug-in expert.I wouldn't know where to begin. – Brian Reinhold Jan 27 '16 at 20:36
  • Reading and struggling w/ this lifecycle nonsense, I thought that either Eclipse should be smarter or Maven is not designed with IDEs in mind. Thomas Broyer provided a good under the hood explanation but do I really want to become an expert in Maven to run the damn thing? – Vortex Jul 09 '16 at 03:46
  • Of course the IDE build cycles cannot be the same as for batch built.Of course you NEED to understand maven basics to use maven. Of course you need to understand maven because horrid people like me keep configuring our projects with maven. Of course you need to understand the very basic info Thomas Broyer is expressing. And finally - OF COURSE you need to understand the problem first before the solution !! Duurh !. – Blessed Geek Feb 22 '18 at 18:22
31

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.

noirbizarre
  • 3,199
  • 1
  • 27
  • 21
28

Change the Maven preferences for plugin execution from error to ignore

kvm006
  • 2,100
  • 2
  • 14
  • 20
  • 3
    Really strongly recommend that this be the new accepted answer. Many other solutions will stop Maven from executing the plugin entirely during the specified build step, which is rarely what the user wants. This is usually a configuration issue, not an actual error. The Eclipse default ought to be Warning, not Error. – Nick Straguzzi Sep 27 '18 at 18:35
27

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.

Stephan
  • 37,597
  • 55
  • 216
  • 310
David
  • 1,075
  • 15
  • 22
21

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.

Sergey Ushakov
  • 2,149
  • 1
  • 22
  • 15
htompkins
  • 331
  • 2
  • 5
  • 6
    You can also edit the `WORKSPACE/.metadata/.plugins/org.eclipse.m2e.core/lifecycle-mapping-metadata.xml` file instead of fiddling with the jars. More details can be found under `Preferences > Maven > Lifecycle Mappings`. Also if you select the quick-fix `"Mark goal xxxxx as ignored in Eclipse build in Eclipse preferences (experimental)"` it would add all the required changes to the above file. – Nufail Oct 08 '14 at 06:58
17

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>
        ...
Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Kristiaan
  • 356
  • 2
  • 6
10
  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.

Darshana
  • 2,366
  • 6
  • 25
  • 49
Hendy Irawan
  • 17,676
  • 10
  • 94
  • 105
  • i tried that but i got the error: `Missing requirement: Maven Integration for AJDT (Optional) 0.13.0.201107281640 (org.maven.ide.eclipse.ajdt.feature.feature.group 0.13.0.201107281640) requires 'org.eclipse.ajdt.feature.group 1.5.0' but it could not be found` – Mahmoud Saleh Dec 12 '11 at 13:33
  • Msaleh, try my revised answer – Hendy Irawan Jan 09 '12 at 10:40
9

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>
Arturo Volpe
  • 3,157
  • 3
  • 23
  • 39
fatih tekin
  • 941
  • 10
  • 19
9

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

Tillmann
  • 139
  • 7
9

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.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Chepech
  • 4,684
  • 3
  • 41
  • 64
5

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.

Tamer Awad
  • 319
  • 6
  • 10
5

Use m2e 0.12, last version from Sonatype.

Darshana
  • 2,366
  • 6
  • 25
  • 49
Oh Chin Boon
  • 21,393
  • 45
  • 133
  • 208
4

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.

derekerdmann
  • 16,379
  • 9
  • 67
  • 104
Bob
  • 770
  • 9
  • 10
4

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.

siOnzee
  • 81
  • 8
4

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

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Lisandro
  • 4,800
  • 1
  • 22
  • 27
3

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

camposer
  • 3,599
  • 2
  • 14
  • 12
2

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.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
  • Grrr, I hate having to pick between two evils. Adding scores of lines of garbage to pom = bad. Your way = also bad, because it keeps reappearing (every time you save the pom) and I have to tell everyone that this is ok. – Iain Jan 14 '14 at 22:48
2

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.

PickBoy
  • 1,134
  • 1
  • 12
  • 20
2

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.

Michael Haefele
  • 292
  • 3
  • 8
2

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.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
dontcare
  • 29
  • 1
1

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.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Yamato
  • 71
  • 1
1

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

1

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

  1. Right click on the project.
  2. Select Maven > Update Project...
Lilylakshi
  • 665
  • 6
  • 17
1

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

1

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

Arsen Khachaturyan
  • 6,472
  • 4
  • 32
  • 36
deng hui
  • 39
  • 4
0

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.

DevCat
  • 61
  • 2
  • 9
0

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.

tomasb
  • 1,615
  • 2
  • 22
  • 28
-1

I could resolve this problem by using the Eclipse Plugin and updating the configuration and dependencies.

Darshana
  • 2,366
  • 6
  • 25
  • 49
Rock Solid
  • 89
  • 1
  • 4
-2

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.

abbas
  • 4,704
  • 2
  • 31
  • 30
  • I guess whomever down-voted you did so because your answer doesn't provide any tangible solution to the problem. – Vedran Apr 30 '15 at 12:14