Skip to main content
Jump to: navigation, search

M2E plugin execution not covered

To solve some long-standing issues, m2e 0.13 requires explicit instructions what to do with all Maven plugins bound to "interesting" phases (see M2E interesting lifecycle 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:
    (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.

ingore, as the name suggests, tells m2e to silently ignore the plugin execution.

execute tells m2e to execute the action as part of Eclipse workspace full or incremental build. Beware that m2e does not provide any safeguards against rouge maven plugins that leak classloaders, modify random files inside workspace or throw nasty exceptions to fail the build. Use this as the last resort and make sure you know what you are doing.

configurator tells m2e to delegate workspace project configuration mapping for matching plugin execution to an implementation of AbstractProjectConfigurator registred with m2e using projectConfigurators extension point.

Back to the top