大佬教程收集整理的这篇文章主要介绍了web-services – 请帮助:xjc抛出“两个声明导致ObjectFactory类中的冲突”,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
<?xml version="1.0" encoding="UTF-8"?> <xs:scheR_17_11845@a targetNamespace="com.acme" xmlns:xs="http://www.w3.org/2001/XMLscheR_17_11845@a"> <xs:element name="Widget"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="color" nillable="true" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="WidgetColor" type="xs:string" /> </xs:scheR_17_11845@a>
然后,尝试以下操作:
xjc test.xsd
您应该总是得到以下异常:
parsing a scheR_17_11845@a... compiling a scheR_17_11845@a... [ERROR] Two declarations cause a collision in the ObjectFactory class. line 11 of file:/C:/test.xsd [ERROR] (Related to above error) This is the other declaration. line 7 of file:/C:/test.xsd Failed to produce code.
请注意,元素名称“Widget”是complexType,并且具有名为“color”的元素.在元素“Widget”的同一级别,还有一个名为“WidgetColor”的简单元素.
更令人费解的是,如果删除属性minOccurs =“0”或者从“color”元素序列中删除属性nillable =“true”,则xjc会成功编译模式.
有没有人见过这个问题或者可以建议一个解决方案?
谢谢,
麦克风.
custom-binding.xjb的内容
<?xml version="1.0" encoding="UTF-8"?> <bindings version="2.0" xmlns="http://java.sun.com/xml/ns/jaxb" xmlns:xs="http://www.w3.org/2001/XMLscheR_17_11845@a"> <bindings scheR_17_11845@aLOCATIOn="test.xsd"> <bindings node="//xs:element[@name='WidgetColor']"> <class name="BaseWidgetColor" /> </bindings> </bindings> </bindings>
操作:
C:\>xjc -b custom-binding.xjb test.xsd parsing a scheR_17_11845@a... compiling a scheR_17_11845@a... acme\com\BaseWidgetColor.java acme\com\ObjectFactory.java acme\com\Widget.java acme\com\package-info.java
Patience et longueur de temps valent mieux que rage et acharnement ……!
以上是大佬教程为你收集整理的web-services – 请帮助:xjc抛出“两个声明导致ObjectFactory类中的冲突”全部内容,希望文章能够帮你解决web-services – 请帮助:xjc抛出“两个声明导致ObjectFactory类中的冲突”所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。