我在pluginManagement标记中的父pom.xml中有jaxws-maven-plugin,我指的是这个插件在pom中。
mvn clean install运行正常。但是,eclipse抱怨说 “生命周期配置未涵盖插件执行:org.codehaus.mojo:jaxws-maven-plugin:1.12:wsimport(执行:FirstWsdl,阶段:生成源)”。
你能建议如何在eclipse中避免这个错误吗?
父母pom
<pluginManagement>
<plugins>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>1.12</version>
<executions>
<execution>
<id>FirstWsdl</id>
<goals>
<goal>wsimport</goal>
</goals>
<phase>generate-sources</phase>
<configuration>
<wsdlLocation>location/file.wsdl</wsdlLocation>
<wsdlFiles>
<wsdlFile>file.wsdl</wsdlFile>
</wsdlFiles>
<packageName>com.xxx.package</packageName>
</configuration>
</execution>
</executions>
<configuration>
<sourceDestDir>${basedir}/generated</sourceDestDir>
<verbose>true</verbose>
<extension>true</extension>
<keep>true</keep>
<vmArgs>
<vmArg .../>
</vmArgs>
</configuration>
</plugin>
...
</plugins>
</pluginManagement>
儿童pom
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
</plugin>
</plugins>
我查看了这个问题并回复How to solve "Plugin execution not covered by lifecycle configuration" for Spring Data Maven Builds,但是,我应该在父级和子级pom中使用pluginManagement来避免此错误吗?
答案 0 :(得分:21)
这应该是:
在维基页面“M2E plugin execution not covered”中记录:
项目构建生命周期映射可以在项目的
pom.xml
中配置,由Eclipse插件提供,或者默认为m2e附带的常用Maven插件。
我们将这些称为“生命周期映射元数据源” m2e将为所有在任何映射元数据源中没有生命周期映射的插件执行创建如下所示的错误标记。
在“How to solve “Plugin execution not covered by lifecycle configuration” for Spring Data Maven Builds”(您参考)中说明。
<pluginManagement>
标签封闭插件(在两个pom中)。 That thread为您的特定错误消息添加了更多详细信息:
在“Maven”下的项目属性中查看Eclipse-UI时 - > “生命周期映射”(选中“显示生命周期阶段”复选框并禁用“显示忽略的执行”),我看到以下内容。
据我所知,这个文件显示了Eclipse构建生命周期(运行时/增量)与其绑定的Maven插件之间的映射 目前,它不包含“jax-ws
”插件,其目标分别为“wsimport
”。问题是您在
jax-ws
部分声明了pluginManagement
插件 要获得绑定到阶段,它应该在build / plugins中 从CLI执行Maven构建也不起作用,所以我怀疑你没有做标准的“mvn install”?要让Eclispe内部的Maven执行工作,您无需做任何事情 但是如果你想在IDE中获得增量/运行时支持,你应该得到合适的m2e连接器。如果你在Eclipse中的POM编辑器中查看pom,插件执行应该用红色错误X标记。将鼠标悬停在那个上面你应该找到一个选项(“发现新的m2e连接器”)。
答案 1 :(得分:19)
如果找不到连接器,可以在eclipse中关闭此错误 因为正如文件所说:
要从Eclispe内部执行Maven执行工作,您无需执行任何操作。
所以转到Eclipse:Preferences -> Maven -> Error/Warnings
并在选项中将错误更改为警告:Plugin execution not converted by lifecycle configuration
答案 2 :(得分:0)
https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html是解释所有内容的原始页面。在父母中定义它应该足够其子女。
答案 3 :(得分:0)
转到pom.xml并右键单击>“添加依赖关系”>输入“组ID”和“工件ID”,然后单击“确定”。这将解决“生命周期未涵盖的插件执行”问题。