23

I have jaxws-maven-plugin in parent pom.xml in the pluginManagement tag and I am referring to this plugin in the child pom.

mvn clean install is running fine. But, eclipse is complaining that "Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:jaxws-maven-plugin:1.12:wsimport (execution: FirstWsdl, phase: generate-sources)".

Could you suggest how to avoid this error in eclipse?

parent 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>   

child pom

<plugins>
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>jaxws-maven-plugin</artifactId>
    </plugin>
</plugins>

I looked at this question and reply How to solve "Plugin execution not covered by lifecycle configuration" for Spring Data Maven Builds, but, should I use pluginManagement both in parent and child pom to avoid this error?

4

4 回答 4

34

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

要从 Eclispe 中执行 Maven,您无需执行任何操作。

所以去 Eclipse:Preferences -> Maven -> Error/Warnings并在选项中将错误更改为警告:Plugin execution not converted by lifecycle configuration

于 2016-08-31T21:29:14.853 回答
25

这应该是:

  • 记录在 wiki 页面“未涵盖 M2E 插件执行”中:

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

  • 如何解决 Spring Data Maven Builds 的“生命周期配置未涵盖的插件执行”中的说明(您可以参考)。

    • 通过在父 pom 中添加生命周期映射元数据。
    • 或通过使用<pluginManagement>标签(在两个 pom 中)封闭插件。

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

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

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

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

于 2013-10-20T09:38:39.093 回答
0

https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html是解释这一切的原始页面。在父级中定义它对它的子级来说应该足够了。

于 2013-10-20T09:36:43.383 回答
-1

转到 pom.xml 并右键单击 > 添加依赖项> 输入组 ID 和工件 ID 单击确定。这将解决“生命周期未涵盖的插件执行”问题。

于 2018-12-04T10:26:09.557 回答