2012-08-23 20 views
1

我是JAXB新手。對於一個項目,我被賦予了xsd的綁定文件,以便我可以使用模式類。 JAXB綁定文件(mainbindings.xjb)看起來是這樣的:超類在xjc類生成期間丟失;層次不一致錯誤

XJC -b mainbindings.xjb -b main.xsd -extension

<jxb:bindings version="2.0"> 
    <jxb:bindings schemaLocation="main.xsd" node="/xsd:schema"> 
     <jxb:globalBindings fixedAttributeAsConstantProperty="true" collectionType="com.example.Impl" choiceContentProperty="false" typesafeEnumMemberName="generateName" enableFailFastCheck="false" generateIsSetMethod="true" underscoreBinding="asWordSeparator"> 
     <xjc:serializable uid="100"/> 
     <xjc:superClass name="com.example.mySuperClass"/> 
     <jxb:javaType name="java.util.Calendar" xmlType="xsd:dateTime" parseMethod="javax.xml.bind.DatatypeConverter.parseDateTime" printMethod="javax.xml.bind.DatatypeConverter.printDateTime"/> 
     </jxb:globalBindings> 
    </jxb:bindings> 
</jxb:bindings> 

我使用沒有XJC編譯器錯誤生成的類

從這個網站,我瞭解到,編譯器不產生超: http://blog.frankel.ch/customize-your-jaxb-bindings

然而,當我複製這些CLAS SES Eclipse項目下,我看到幾乎每個類以下錯誤: 類型的層次結構是不一致的

我GOOGLE了這個錯誤,並從該網站(http://java.syntaxerrors.info發現/index.php?title=Inconsistent_hierarchy),如果超類不存在,則會彈出此錯誤。 我按照這裏建議的方法嘗試刷新,但錯誤仍然存​​在。另外,如果xjc沒有生成超類,如果沒有我手動創建隨機超類,該如何解決呢?

在此先感謝

回答

1

該擴展旨在讓您生成的類擴展現有的類。你將需要提供這個類。順便說一句 - 你目前如何使用這個擴展?

+0

我完全按照上面的說明給出了命令。沒有擴展參數,我有錯誤。也許我沒有得到你的問題?我明白我必須得到這個超類,所以我可以將它與xjc編譯器的類路徑參數一起使用,以生成擴展此超類的所有類? – user907810

+0

全局綁定屬性中的collectionType類怎麼樣?我是否也應該有這樣的課程,還是將它推廣? – user907810

+0

@ user907810 - 您還需要擁有該課程。如果您沒有在綁定文件中指定的類,那麼您可能需要刪除相應的條目。他們不需要生成模型。它們只是自定義來影響模型的生成方式。 –

相關問題