隨筆-46  評論-54  文章-0  trackbacks-0
          Illegal class inheritance loop.
          使用JAXB 2.0以上版本,使用schema文件綁定Java對象,并配置了外部配置文件binding.xjb后,出現這個錯誤。
          現已解決,如下:

          1、schema文件po.xsd:
           1<?xml version="1.0" encoding="utf-8"?>
           2<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
           3  <xs:element name="AAAA">
           4    <xs:annotation>
           5      <xs:documentation>Root</xs:documentation>
           6    </xs:annotation>
           7    <xs:complexType>
           8      <xs:sequence>
           9        <xs:element name="DDDD" type="xs:string" default="Hello!"/>
          10        <xs:element name="VVVV" type="xs:integer" default="2008"/>
          11        <xs:element name="SA" minOccurs="0">
          12          <xs:complexType>
          13            <xs:sequence>
          14              <xs:element name="BBBB" type="xs:string"/>
          15              <xs:element name="CCCC" type="xs:string"/>
          16              <xs:element name="TTTT" type="xs:dateTime" minOccurs="0"/>
          17              <xs:element name="PPPP" type="xs:string" minOccurs="0"/>
          18              <xs:element name="RRRR" type="xs:base64Binary"/>
          19              <xs:element name="CACA" maxOccurs="unbounded">
          20                <xs:complexType>
          21                  <xs:sequence>
          22                    <xs:element name="CA" type="xs:base64Binary" maxOccurs="unbounded"/>
          23                    <xs:element name="CRCR" minOccurs="0"/>
          24                  </xs:sequence>
          25                </xs:complexType>
          26              </xs:element>
          27            </xs:sequence>
          28          </xs:complexType>
          29        </xs:element>
          30      </xs:sequence>
          31    </xs:complexType>
          32  </xs:element>
          33</xs:schema>

          2、外部配置文件binding.xjb:
           1<jxb:bindings version="1.0"
           2               xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
           3               xmlns:xs="http://www.w3.org/2001/XMLSchema">
           4  <jxb:bindings schemaLocation="po.xsd" node="/xs:schema">
           5    <jxb:globalBindings
           6         fixedAttributeAsConstantProperty="false"
           7         collectionType="java.util.Vector"
           8         typesafeEnumBase="xs:NCName"
           9         choiceContentProperty="false"
          10         typesafeEnumMemberName="generateError"
          11         enableFailFastCheck="false"   
          12         generateIsSetMethod="false"
          13         underscoreBinding="asCharInWord"/>
          14    <jxb:schemaBindings>
          15      <jxb:package name="test.po">
          16        <jxb:javadoc><![CDATA[<body>Package level documentation for generated package primer.myPo.</body>]]></jxb:javadoc>
          17      </jxb:package>
          18      <jxb:nameXmlTransform>
          19        <jxb:elementName suffix="Element"/>
          20      </jxb:nameXmlTransform>
          21    </jxb:schemaBindings>
          22
          23    <jxb:bindings node="http://xs:element[@name='AAAA']">
          24    
          25      <jxb:class name="Article">
          26        <jxb:javadoc>&lt;b>Purchase Order&lt;/b> Article.</jxb:javadoc>
          27      </jxb:class>
          28
          29      <jxb:bindings node=".//xs:element[@name='DDDD']">
          30        <jxb:property name="hi"/>
          31      </jxb:bindings>
          32      
          33      <jxb:bindings node=".//xs:element[@name='VVVV']">
          34        <jxb:property name="year"/>
          35      </jxb:bindings>
          36
          37      
          38      <jxb:bindings node=".//xs:element[@name='SA']">
          39        <jxb:property name="content">
          40          <jxb:baseType name="Content"/>
          41        </jxb:property>
          42        
          43        <jxb:bindings node="./xs:complexType">
          44          <jxb:class name="Content"/>
          45          
          46          <jxb:bindings node=".//xs:element[@name='BBBB']">
          47            <jxb:property name="title"/>
          48          </jxb:bindings>
          49          
          50          <jxb:bindings node=".//xs:element[@name='CCCC']">
          51            <jxb:property name="subTitle"/>
          52          </jxb:bindings>
          53          
          54          <jxb:bindings node=".//xs:element[@name='TTTT']">
          55            <jxb:property name="pubDate"/>
          56          </jxb:bindings>
          57          
          58          <jxb:bindings node=".//xs:element[@name='PPPP']">
          59            <jxb:property name="organize"/>
          60          </jxb:bindings>
          61          
          62          <jxb:bindings node=".//xs:element[@name='RRRR']">
          63            <jxb:property name="contentBinary"/>
          64          </jxb:bindings>
          65          
          66          <jxb:bindings node=".//xs:element[@name='CACA']">
          67            <jxb:property name="licence">
          68              <jxb:baseType name="Licence"/>
          69            </jxb:property>
          70            
          71            <jxb:bindings node="./xs:complexType">
          72              <jxb:class name="Licence"/>
          73              <jxb:bindings node=".//xs:element[@name='CA']">
          74                <jxb:property name="licenceBinary"/>
          75              </jxb:bindings>
          76              <jxb:bindings node=".//xs:element[@name='CRCR']">
          77                <jxb:property name="licenceNo"/>
          78              </jxb:bindings>
          79            </jxb:bindings>
          80          </jxb:bindings>
          81    </jxb:bindings>
          82
          83      </jxb:bindings>
          84
          85    </jxb:bindings>
          86
          87
          88  </jxb:bindings>
          89</jxb:bindings>

          3、運行:
          1xjc -b binding.xjb -d gen po.xsd
          完畢!
          posted on 2008-05-02 16:57 rox 閱讀(2596) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 朝阳市| 云阳县| 同德县| 宜宾县| 瑞金市| 新乐市| 利川市| 罗甸县| 松桃| 和政县| 湘西| 舟山市| 嘉善县| 绥棱县| 安丘市| 连江县| 文安县| 青龙| 乐业县| 汤原县| 玛纳斯县| 双桥区| 鄢陵县| 通化县| 彭山县| 安新县| 亚东县| 河曲县| 博白县| 富川| 涿鹿县| 正阳县| 惠来县| 西乌珠穆沁旗| 通渭县| 哈巴河县| 准格尔旗| 珲春市| 汤原县| 铁岭市| 牙克石市|