隨筆-46  評(píng)論-54  文章-0  trackbacks-0
          Illegal class inheritance loop.
          使用JAXB 2.0以上版本,使用schema文件綁定Java對(duì)象,并配置了外部配置文件binding.xjb后,出現(xiàn)這個(gè)錯(cuò)誤。
          現(xiàn)已解決,如下:

          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、運(yùn)行:
          1xjc -b binding.xjb -d gen po.xsd
          完畢!
          posted on 2008-05-02 16:57 rox 閱讀(2596) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 孝昌县| 额敏县| 江门市| 永昌县| 延津县| 西充县| 深州市| 康平县| 大安市| 焦作市| 江达县| 平和县| 万源市| 格尔木市| 邓州市| 班玛县| 桃园市| 灵台县| 平遥县| 江阴市| 平山县| 福海县| 乌兰县| 定州市| 八宿县| 阳东县| 五大连池市| 虎林市| 勃利县| 女性| 石阡县| 清水河县| 达拉特旗| 河间市| 广州市| 安宁市| 涞源县| 烟台市| 绥宁县| 丹棱县| 永昌县|