我试图让cxf-codegen-plugin从我的wsdl文件生成源代码。 但是当我用eclipse luna执行 mvn generate-source 时没有任何事情发生。 看起来插件本身配置不正确。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.webservice</groupId>
<artifactId>wsdlfirstwebservice</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>wsdlfirstwebservice Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<jdk.version>1.8</jdk.version>
<cxf.version>3.0.4</cxf.version>
<jaxb.version>2.2</jaxb.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>${jaxb.version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-xjc</artifactId>
<version>${jaxb.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>3.0.4</version>
</dependency>
</dependencies>
<build>
<finalName>Wrsdlfirstwebservice</finalName>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.1</version>
<configuration>
<webXml>src/main/webapp/WEB-INF/web.xml</webXml>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>${cxf.version}</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>
<wsdlOptions>
<wsdlOption>
<wsdl>src/main/resources/CustomerOrders.wsdl</wsdl>
<bindingFiles>
<bindingFile>src/main/resources/wsdl/binding.xml</bindingFile>
</bindingFiles>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>${jaxb.version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-xjc</artifactId>
<version>${jaxb.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="CustomerOrdersService"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://www.wsdlfirstwebservice.com/customerorders"
targetNamespace="http://www.wsdlfirstwebservice.com/customerorders">
<!-- Types -->
<wsdl:types>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://www.wsdlfirstwebservice.com/customerorders"
targetNamespace="http://www.wsdlfirstwebservice.com/customerorders">
<xs:complexType name="order">
<xs:sequence>
<xs:element name="id" type="xs:integer"/>
<xs:element name="product" type="tns:product" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="product">
<xs:sequence>
<xs:element name="id" type="xs:integer" minOccurs="0"/>
<xs:element name="description" type="xs:string" minOccurs="0"/>
<xs:element name="quantity" type="xs:integer" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="getOrdersRequest">
<xs:sequence>
<xs:element name="customerId" type="xs:integer" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="getOrdersResponse">
<xs:sequence>
<xs:element name="order" type="tns:order" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:element name="getOrdersRequest" type="tns:getOrdersRequest"/>
<xs:element name="getOrdersResponse" type="tns:getOrdersResponse"/>
</xs:schema>
</wsdl:types>
<!-- Messages :
These are analogous to method parameters and return types in java methods
-->
<wsdl:message name="getOrdersRequest">
<wsdl:part name="parameters" element="tns:getOrdersRequest">
</wsdl:part>
</wsdl:message>
<wsdl:message name="getOrdersResponse">
<wsdl:part name="parameters" element="tns:getOrdersResponse">
</wsdl:part>
</wsdl:message>
<!-- Port types
These are analogous to java methods. Port types use message as input and/or output.
-->
<wsdl:portType name="CustomerOrdersPortType">
<wsdl:operation name="getOrders">
<wsdl:input name="getOrdersRequest" message="tns:getOrdersRequest"></wsdl:input>
<wsdl:output name="getOrdersResponse" message="tns:getOrdersResponse"></wsdl:output>
</wsdl:operation>
</wsdl:portType>
<!-- Bindings
This defines the message formats and protocol details for web service
-->
<wsdl:binding name="CustomerOrdersServiceSoapBinding" type="tns:CustomerOrdersPortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="getOrders">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="getOrdersRequest">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="getOrdersResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<!-- Service
Tells customer how to consume the service
-->
<wsdl:service name="CustomerOrdersService">
<wsdl:port name="CustomerOrdersPort" binding="tns:CustomerOrdersServiceSoapBinding">
<soap:address location="http://localhost:8080/wsdlfirstwebservice/services/CustomerOrdersService"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Apache Maven 3.2.1(ea8b2b07643dbb1b84b6d16e1f08391b666bc1e9; 2014-02-14T23:07:52 + 05:30)Maven home: D:\ JSPractice \ wsdlfirstwebservice \ EMBEDDED Java版本:1.8.0_60, 供应商:Oracle Corporation Java home:C:\ Program Files (x86)\ Java \ jdk1.8.0_60 \ jre默认语言环境:en_IN,平台编码: Cp1252操作系统名称:&#34; Windows 7&#34;,版本:&#34; 6.1&#34;,arch:&#34; x86&#34;,系列: &#34; DOS&#34; [INFO]错误堆栈跟踪已打开。 [DEBUG]阅读全球 来自EMBEDDED \ conf \ settings.xml [DEBUG]的设置读取用户设置 来自C:\ Users \ D.Sama.m2 \ settings.xml [DEBUG]使用本地存储库 在C:\ Users \ D.Sama.m2 \ repository [DEBUG]使用manager EnhancedLocalRepositoryManager优先级为10.0 C:\ Users \ D.Sama.m2 \ repository [INFO]扫描项目... [DEBUG] 项目的扩展领域 com.webservice:wsdlfirstwebservice:war:0.0.1-SNAPSHOT :( none)[DEBUG] 查找包装战争的生命周期映射 ClassRealm [plexus.core,parent:null] [DEBUG] === REACTOR BUILD PLAN ================================================ [DEBUG ]项目:com.webservice:wsdlfirstwebservice:war:0.0.1-SNAPSHOT [DEBUG]任务:
[generate-sources] [DEBUG]风格:常规[DEBUG] ================================================== ===================== [INFO] [INFO]使用构建器 org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder 线程数为1 [INFO]
[信息] -------------------------------------------------- ---------------------- [INFO]构建wsdlfirstwebservice Maven Webapp 0.0.1-SNAPSHOT [INFO] -------------------------------------------------- ---------------------- [DEBUG]生命周期默认 - &gt; [验证,初始化,生成源, 流程源,生成资源,流程资源,编译, 流程类,生成测试源,流程测试源, generate-test-resources,process-test-resources,test-compile, 流程测试类,测试,准备包,包, 预集成测试,集成测试,集成后测试,验证, 安装,部署] [DEBUG]生命周期清理 - &gt; [预先清洁,干净, post-clean] [DEBUG]生命周期网站 - &gt; [pre-site,site,post-site, site-deploy] [DEBUG] ===项目建设计划 ================================================ [DEBUG ]项目:com.webservice:wsdlfirstwebservice:0.0.1-SNAPSHOT [DEBUG]依赖项 (收集):[] [DEBUG]依赖关系(解析):[] [DEBUG]存储库 (依赖):[central(http://repo.maven.apache.org/maven2, 发布)] [DEBUG]存储库(插件):[中央 (http://repo.maven.apache.org/maven2,发布)] [调查] ================================================== ===================== [INFO] -------------------------------------------------- ---------------------- [INFO]建立成功[信息] -------------------------------------------------- ---------------------- [INFO]总时间:0.101秒[INFO]完成时间:2016-09-11T14:27:19 + 05:30 [INFO]最终记忆:4M / 15M [INFO]
答案 0 :(得分:1)
您需要在构建/插件部分中放置cxf-codegen插件,而不仅仅是在build / pluginManagement / plugins中。