Maven项目报错:“Plugin execution not covered by lifecycle configuration”解决过程

Maven项目POM文件报错如下:

“Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:flatten-maven-plugin: 1.1.0:flatten (execution: flatten, phase: process-resources)”

这表示m2e在其执行maven的生命周期管理时没有定义该插件,所以提示出错,其实m2e对此是提供了扩展机制的,以下是解决过程:

1.进入Window—>Preferences—>Maven配置,进入Lifecycle Mapping设置项,如下图:

Maven项目报错:“Plugin execution not covered by lifecycle configuration”解决过程

从上图可以看出m2e管理maven生命周期的文件名是lifecycle-mapping-metadata.xml,以及该文件的存放路径。

2.到上面的路径修改lifecycle-mapping-metadata.xml文件,但发现该路径下文件并不存在。

3.接着到eclipse安装目录下的plugins下的org.eclipse.m2e.lifecyclemapping.defaults_xxxxxx.jar文件中找到该文件(如下图):

Maven项目报错:“Plugin execution not covered by lifecycle configuration”解决过程

解压得到lifecycle-mapping-metadata.xml文件,把它放置到步骤1图中所示的路径下。

4.修改刚才的xml文件,把未识别的插件在文件中加入即可。

根据报错提示“Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:flatten-maven-plugin: 1.1.0:flatten (execution: flatten, phase: process-resources)”

缺少的是org.codehaus.mojo:flatten-maven-plugin: 1.1.0版本为1.1.0的插件,阶段是flatten,于是在xml文件中添加如下代码:

Maven项目报错:“Plugin execution not covered by lifecycle configuration”解决过程

5.修改完成后,重启eclipse,对Maven项目update即可

后续出现Plugin execution not covered by lifecycle configuration:此类错误均可尝试此方式解决。

参考文献:https://www.jianshu.com/p/777eb051c545?from=timeline&isappinstalled=0