Search code examples
m2eclipsem2e

How To Disable M2E Lifecycle Validation


With Eclipse Mars comes the feature that M2E does not work like it used to. Lifecycle plug-ins are not found or are found twice, bringing curious error messages like this:

Plugin execution not covered by lifecycle configuration: org.acme.something:maven-plugin:1.0.0:compile (execution: default-compile, phase: compile)

Conflicting lifecycle mapping (plugin execution "org.acme.something:maven-plugin:1.0.0:compile (execution: default-compile, phase: compile)"). To enable full functionality, remove the conflicting mapping and run Maven->Update Project Configuration.

Since the Tycho integration never worked (and knowing these guys, never will) I want to disable the lifecycle validation for good. We only ever really need the M2E feature "Run as... -> Maven Build" anyways.

How do I do this?

(Just to be clear: I'm a professional, I have dozens of workspaces with dozens of projects each - using the "quickfix" on all of these to ignore them is out of the question, as is defiling my //pom.xml// with Eclipse specific ignore instructions.)


Solution

  • You have 2 solutions

    • Open the Markers view, Quick Fix, then select "Mark goal run as ignored in Eclipse build in Eclipse Preferences". This will be a global for the workspace, won't defile any of your pom.xml files. You can then go a step further and open Preferences > Maven > Licefycle Mappings, change the mapping file location so that it can be shared by multiple workspaces.
    • Open Preferences > Maven > Errors/Warnings, set Plugin Execution not covered... level to whatever works for you (and hope it doesn't cause unexpected side effects)