Publishing wsdl java M2E plugin execution not cove

2020-02-28 19:36发布

问题:

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?

回答1:

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.



回答2:

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



回答3:

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,