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

时间:2013-10-17 16:20:31

标签: java eclipse maven

我在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来避免此错误吗?

4 个答案:

答案 0 :(得分:21)

这应该是:

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”,然后单击“确定”。这将解决“生命周期未涵盖的插件执行”问题。