Maven项目POM文件错误,提示“Plugin execution not covered by lifecycle configuration”的解决方案
eclipse在其POM文件的一处提示出错如下:
Plugin execution not covered by lifecycle configuration:org.apache.maven.plugins:maven-source-plugin:3.1:compile (execution: default-compile, phase: compile)
查阅各种资料,折腾好久,这表示m2e在其执行maven的生命周期管理时没有定义该插件,所以提示出错,其实m2e对此是提供了扩展机制的,我们可以通过如下操作来消除这个出错提示:
1. 进入Window—>Preferences—>Maven配置,进入Lifecycle Mapping设置项,如下图:
从上图可以看出m2e管理maven生命周期的文件名是lifecycle-mapping-metadata.xml,以及该文件的存放路径
2. 下一步我们就要去相应路径修改lifecycle-mapping-metadata.xml文件,但会发现这个文件在上图中提示的位置并不存在,那么此时就
以到eclipse的安装目录下的plugins下的org.eclipse.m2e.lifecyclemapping.defaults_xxxxxx.jar文件中找到该文件(如下图):
解压后可以发现lifecycle-mapping-metadata.xml文件的确在jar包中
把它从jar包中解压出来并放置到步骤1图中所示的路径下
3. 打开lifecycle-mapping-metadata.xml文件,把未识别的插件在文件中加入即可:
Plugin execution not covered by lifecycle configuration:org.apache.maven.plugins:maven-source-plugin:3.1:compile (execution: default-compile, phase: compile)
由提示可知缺少的是org.apache.maven.plugins:maven-source-plugin 版本为3.1的插件,阶段是compile
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<versionRange>[3.1,)</versionRange>
<goals>
<goal>testCompile</goal>
<goal>compile</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore/>
</action>
</pluginExecution>
4、修改完成后,需在m2e配置处把“Update Maven projects on startup”选项勾上,并重启eclipse即可消除出错提示。
同理Plugin execution not covered by lifecycle configuration:org.codehaus.mojo:aspectj-maven-plugin:1.7:compile (execution: default-compile, phase: test-compile)
后续出现Plugin execution not covered by lifecycle configuration:此类错误均可尝试此方式解决
参考文献:http://www.cnblogs.com/hzhuxin/archive/2012/06/17/2552998.html