Thrown by JAXB : Property "Any" is already defined. Use to resolve this conflict.
4466 단어 JAXB
오늘 Maven 설정 wdl 로 자바 코드 를 만 드 는 중 오류 가 발생 했 습 니 다. 해결 방법 을 찾 아 공유 하 겠 습 니 다.
참고
http://stackoverflow.com/questions/13499860/jax-ws-error-on-wsdl-file-error-resolving-component-sschema
src / jaxws 디 렉 터 리 에 xsd. xjb 를 설정 해 야 합 니 다.
<?xml version="1.0" encoding="UTF-8"?>
<bindings xmlns="http://java.sun.com/xml/ns/jaxb"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
version="2.0">
<globalBindings>
<xjc:simple />
</globalBindings>
<bindings scd="~xsd:complexType">
<class name="ComplexTypeType"/>
</bindings>
<bindings scd="~xsd:simpleType">
<class name="SimpleTypeType"/>
</bindings>
<bindings scd="~xsd:group">
<class name="GroupType"/>
</bindings>
<bindings scd="~xsd:attributeGroup">
<class name="AttributeGroupType"/>
</bindings>
<bindings scd="~xsd:element">
<class name="ElementType"/>
</bindings>
<bindings scd="~xsd:attribute">
<class name="attributeType"/>
</bindings>
</bindings>
그리고 다음 설정 을 pom. xml 파일 에 추가 합 니 다.
<plugin>
<!-- CHANGE: updated groupId and version -->
<groupId>org.jvnet.jax-ws-commons</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<goals>
<goal>wsimport</goal>
</goals>
<configuration>
<!-- CHANGE: added args tag to bind http://www.w3.org/2001/XMLSchema.xsd -->
<args>
<arg>-b</arg><arg>http://www.w3.org/2001/XMLSchema.xsd</arg>
</args>
<wsdlFiles>
<wsdlFile>xxx</wsdlFile>
</wsdlFiles>
<wsdlLocation>E:/xxx.wsdl</wsdlLocation>
<staleFile>${project.build.directory}/jaxws/stale/Service.asmx.stale</staleFile>
<!-- CHANGE: added bindingFiles tag to bind XJB customization, located at the default binding files directory, MyProject/src/jaxws/xsd.xjb . -->
<bindingFiles>
<bindingFile>xsd.xjb</bindingFile>
</bindingFiles>
</configuration>
<id>wsimport-generate-egtestreportengine</id>
<phase>generate-sources</phase>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>javax.xml</groupId>
<artifactId>webservices-api</artifactId>
<version>1.4</version>
</dependency>
</dependencies>
<configuration>
<sourceDestDir>${project.build.directory}/generated-sources/jaxws-wsimport</sourceDestDir>
<xnocompile>true</xnocompile>
<verbose>true</verbose>
<extension>true</extension>
<catalog>${basedir}/src/jax-ws-catalog.xml</catalog>
<target>2.0</target>
</configuration>
</plugin>
이렇게 하면 코드 를 정상적으로 생 성 할 수 있 습 니 다. 생 성 된 경 로 는 < sourceDestDir > 태그 내용 을 변경 하여 지정 할 수 있 습 니 다.
< wdl Location > 는 wdl 의 경로 입 니 다.