由于没有找到连接器的M2Eclipse无法编译

时间:2011-11-25 00:04:59

标签: maven m2eclipse

pom.xml 文件中有一节需要Maven-Replacer-Plugin和(我相信)GitDescribe。

以下是它给我的错误:

  

生命周期配置未涵盖插件执行:com.lukegb.mojo:gitdescribe-maven-plugin:1.3:gitdescribe(执行:默认,阶段:编译)

  

生命周期配置未涵盖插件执行:com.google.code.maven-replacer-plugin:maven-replacer-plugin:1.3.8:replace(执行:默认,阶段:生成资源)

2 个答案:

答案 0 :(得分:1)

此错误已得到充分描述in their documentation

在M2Eclipse 1.0(现在的m2e)中添加了此功能。 它造成了很多麻烦,就像this blog post中报道的那样。

一个解决方案是使用有关插件生命周期映射元数据的数据污染 pom.xml ,但这不是很令人满意。

在m2e 1.1中,插件开发人员可以在其插件中嵌入一个名为 lifecycle-mapping-metadata.xml 的文件,以使其在Eclipse中工作(参见M2E compatible maven plugins)。

幸运的是,自m2e 1.2以来,事情已经发展,我们现在可以在Eclipse Preferences中配置它(参见Eclipse workspace lifecycle mapping metadata)。

答案 1 :(得分:1)

此消息出现是因为m2e不知道在此阶段该做什么。构建应该与命令行maven一起使用,但是m2e希望你指定是否要它运行插件。

修复取决于您想要发生的事情。您可以让eclipse忽略该插件,也可以将其作为构建的一部分执行。

文档在这里进一步详细解释,但我正在复制下面简单的答案。 https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html

这会改变pom以添加一些eclipse元数据。如果你只是想让它构建起来,这将有效。

  

提示:使用快速修复创建“忽略”映射,然后替换   采取行动。 M2Eclipse 1.3和更新版假设更安全   runOnIncremental =默认为false。建议始终   生命周期中明确指定的特定runOnIncremental值   映射配置。

您还可以在较新的eclipse / m2e版本中更改您的首选项。这是另一个快速修复选项。您可以在Project Properties-> Maven-> Lifecycle Mapping。

下更改此项目