eclipse Maven 生命周期 与构建目标冲突

转自:http://ljhzzyx.blog.163.com/blog/static/383803122013440345857/ 

Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-dependency-plugin:2.7:copy…

在eclipse->preference->maven->lifecycle mappings中,myeclipse的话Maven4MyEclipse->Lifecycle mappings,想上面所示进行配置,保存更新project。未试过eclipse下情况如何,MyEclipse默认配置路径是没有lifecycle-mapping-metadata.xml这个文件的,只有<项目名>.lifecyclemapping一系列这样的文件,但提供一个按钮“Open workspacelifecycle mappings metadata”里进行编辑。或者Change mapping file location。

好吧,这样也许是最应该的处理的方式,但让每个开发人员都改下ide配置,还不如直接改下pom.xml文件的配置,最终采用了修改pom.xml文件的方式。

好吧,最终还是将出错原因和解决思路抄一下:

于maven的项目,使用各种maven plugin来完成开发中的各种工作,例如编译代码,打包,部署等等…

每个plugin包含许多的goal,用来做特定的事情。典型的基于java的maven项目就有 clean compile test

package

deploy等goal要执行。除了这些比较常见的goal之外,项目中还可以使用大量的第三方的plugin,甚至自己动手开发的plugin。

之而来的问题是,在eclipse中编辑maven项目的时候,eclipse并不知道这些goal要做什么,通用的goal还好说,特殊用途的goal

就没有办法了。所以m2eclipse这个集成maven到eclipse的plugin就提供了开发extra的能力,eclipse利用这些

extra来完成本来在maven plugin要干的活。

如果eclipse没有办法知道某个goal要干什么,那么通常就会看到如下的错误信息:

Plugin

execution not covered by lifecycle configuration:

org.apache.maven.plugins:maven-dependency-plugin:2.6:copy (execution:

default, phase: validate)

由于我个人更倾向于在命令行下让maven干活,而eclipse更多的只是充当编辑器的角色,所以我要的只是让eclipse忽略掉这些goal就好了。

参考这里http://wiki.eclipse.org/M2E_plugin_execution_not_covered 之后,要做的就是告诉eclipse要忽略的goal.

    原文作者:鱼非雨
    原文地址: https://www.jianshu.com/p/26bd2f737676
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞