Publishing wsdl java M2E plugin execution not cove

2020-02-28 18:58发布

I have written a WSDL and I want to generate java classes.

I use the cxf-codegen-plugin for maven2, but I get the following validation error in Eclipse:

Plugin execution not covered by lifecycle configuration: org.apache.cxf:cxf-codegen-plugin:2.2.7:wsdl2java (execution: generate-sources, phase: generate-sources).

Can anybody help me to resolve this? Or propose another solution?

3条回答
冷血范
2楼-- · 2020-02-28 19:31

Change the plugin version to this especific. After, Run Maven Update Project, and finally Run Maven generate-sources

<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>2.7.10</version>

Best regards,

查看更多
你好瞎i
3楼-- · 2020-02-28 19:41

The error message sounds like it is coming from the maven eclipse integration (m2e). If the build works from the command line but not from within eclipse then maybe this article on the eclipse wiki can help you to configure eclipse.

This answer shows the solution for a similar problem with another maven plugin.

查看更多
爱情/是我丢掉的垃圾
4楼-- · 2020-02-28 19:55

You can add this snippet to your pom.xml (from the link published by @Jörn Horstmann):

<pluginManagement>
            <plugins>
                <!--This plugin's configuration is used to store Eclipse m2e settings 
                    only. It has no influence on the Maven build itself. -->
                <plugin>
                    <groupId>org.eclipse.m2e</groupId>
                    <artifactId>lifecycle-mapping</artifactId>
                    <version>1.0.0</version>
                    <configuration>
                        <lifecycleMappingMetadata>
                            <pluginExecutions>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.cxf</groupId>
                                        <artifactId>cxf-codegen-plugin</artifactId>
                                        <versionRange>[2.3.3,)</versionRange>
                                        <goals>
                                            <goal>wsdl2java</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <execute />
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>

The more important lines are:

<groupId>org.apache.cxf</groupId>
                                        <artifactId>cxf-codegen-plugin</artifactId>
                                        <versionRange>[2.3.3,)</versionRange>
                                        <goals>
                                            <goal>wsdl2java</goal>
                                        </goals>

So, you have to ensure what version of CXF are you using... Hope this can help...

查看更多
登录 后发表回答