运用maven cxf plugin从wsdl生成java类

使用maven cxf plugin从wsdl生成java类cxf插件使用buildpluginsplugingroupIdorg.apache.cxf/gro

使用maven cxf plugin从wsdl生成java类
cxf插件使用

<build><plugins><plugin><groupId>org.apache.cxf</groupId>                <artifactId>cxf-codegen-plugin</artifactId>                <version>2.1.4</version>                <executions>                <execution>                <id>generate-sources</id>                <phase>generate-sources</phase>                <configuration><!--                 <sourceRoot>${basedir}/target/generated-sources/</sourceRoot> --><sourceRoot>${basedir}/src/main/java/</sourceRoot>                <wsdlOptions>                <wsdlOption>                <wsdl>${basedir}/src/main/resources/WebService.wsdl</wsdl><!--                 <extraarg>-client</extraarg> --><!--           <extraarg>-verbose</extraarg>  -->                </wsdlOption>                <wsdlOption>                <wsdl>${basedir}/src/main/resources/OtherWebService.wsdl</wsdl><!--                 <extraarg>-client</extraarg> --><!--           <extraarg>-verbose</extraarg>  -->                </wsdlOption>                </wsdlOptions>                </configuration>                <goals>                            <goal>wsdl2java</goal>                        </goals>                </execution>                </executions>                <dependencies>                    <dependency>                        <groupId>xerces</groupId>                        <artifactId>xercesImpl</artifactId>                        <version>2.9.1</version>                    </dependency>                    <dependency>                        <groupId>org.apache.cxf</groupId>                        <artifactId>cxf-xjc-ts</artifactId>                        <version>2.2.3</version>                    </dependency>                </dependencies></plugin></plugins><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.1.4,)</versionRange><goals><goal>wsdl2java</goal></goals></pluginExecutionFilter><action><ignore></ignore></action></pluginExecution></pluginExecutions></lifecycleMappingMetadata></configuration></plugin></plugins></pluginManagement></build>




1. 执行 mvn generate-sources,就可生成java代码。

2. error: Plugin execution not
covered by lifecycle configuration: org.apache.cxf:cxf-codegen-

plugin:2.1.2:wsdl2java (execution: generate-sources, phase:
generate-sources).

出现以上错误,添加<pluginManagement></pluginManagement>里面的内容即可解决

3. 想多次执行 mvn generate-sources,就要删除cxf-codegen-plugin-markers里的Done文档

4. 如果访问wsdl需要代理,则执行 mvn generate-sources -Dhttp.proxyHost=host -Dhttp.proxyPort=port。

注:如果是下载maven相关文件,需要代理时,要在setting.xml中设置,命令行设置没有用。

5.多个wsdl,只要在wsdlOptions里添加wsdlOption

6.<extraargs>下的<extraarg>可以选择所需的wsdl2java命令参数使用(http://cxf.apache.org/docs/wsdl-to-java.html)

参考:http://cxf.apache.org/docs/maven-cxf-codegen-plugin-wsdl-to-java.html