使用父pom中的pluginManagement在eclipse中生命周期配置错误未涵盖插件执行

我在pluginManagement标签中的父pom.xml中有jaxws-maven-plugin,我指的是这个插件在pom中。

mvn clean install运行正常。 但是,eclipse抱怨“生命周期配置未涵盖插件执行:org.codehaus.mojo:jaxws-maven-plugin:1.12:wsimport(执行:FirstWsdl,阶段:生成源)”。

你能建议如何在eclipse中避免这个错误吗?

父母pom

  ...  org.codehaus.mojo jaxws-maven-plugin 1.12   FirstWsdl  wsimport  generate-sources  location/file.wsdl  file.wsdl  com.xxx.package     ${basedir}/generated true true true      ...   

孩子pom

   org.codehaus.mojo jaxws-maven-plugin   

我查看了这个问题并回答了如何解决Spring Data Maven Builds中的“生命周期配置未涵盖的插件执行” ,但是,我应该在父级和子级pom中使用pluginManagement来避免此错误吗?

这应该是:

  • 维基页面中记录的“ M2E插件执行未涵盖 ”:

    项目构建生命周期映射可以在项目的pom.xml配置,由Eclipse插件提供,或者默认为m2e附带的常用Maven插件。
    我们将这些称为“ 生命周期映射元数据源 ”。
    m2e将为所有在任何映射元数据源中都没有生命周期映射的插件执行创建如下所示的错误标记。

  • “ 如何解决”插件执行中未说明的 “生成周期配置”(适用于Spring Data Maven Builds )(您参考)。

    • 或者通过在父pom中添加lifecycleMappingMetadata。
    • 或者用标签封闭插件(在两个pom中)。

该线程为您的特定错误消息添加了更多详细信息:

当在“Maven” – >“Lifecyle Mapping”下查看项目属性中的Eclipse-UI时(检查“显示生命周期阶段”复选框并禁用“显示忽略的执行”),我看到以下内容。
据我所知,这个文件显示了Eclipse构建生命周期(运行时/增量)与其绑定的Maven插件之间的映射。
目前,它不包含“ jax-ws ”插件,其目标分别为“ wsimport ”。

问题是你在pluginManagement部分声明了jax-ws插件。
要获得绑定到阶段,它应该在build / plugins中。
从CLI执行Maven构建也不起作用,所以我怀疑你没有做标准的“mvn install”?

要从Eclispe内部执行Maven执行工作,您无需执行任何操作。
但是如果你想在IDE中获得增量/运行时支持,你应该得到合适的m2e连接器。 如果你在Eclipse中的POM编辑器中查看pom,插件执行应该用红色错误X标记。将鼠标hover在那上面你应该找到一个选项(“发现新的m2e连接器”)。

如果找不到连接器,可以在eclipse中关闭此错误,因为文档说:

要从Eclispe内部执行Maven执行工作,您无需执行任何操作。

所以转到Eclipse: Preferences -> Maven -> Error/Warnings并在选项中将Error更改为Warning: Plugin execution not converted by lifecycle configuration