2012-11-01 50 views
22

我第一次使用JAXB和XJC。JAXB,XJC - >創建多個類文件

我想從XML文件生成Java類,所以我使用this online helper從XML文件生成模式。

之後,我只是用這個命令行來生成Java類:

xjc myschema.xsd 

它的工作,但我只接收一個的Java文件和許多靜態類裏面。這可能產生很多隻包含一個類文件的java文件嗎?

謝謝

回答

37

默認JAXB (JSR-222)將創建嵌套複雜類型,防止類名稱衝突靜態內部類。您可以使用外部綁定文件來禁用此行爲。

binding.xml

有約束力的文件允許您自定義的Java類是如何從XML模式生成的。

<jaxb:bindings 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" 
    version="2.1"> 
    <jaxb:globalBindings localScoping="toplevel"/> 
</jaxb:bindings> 

XJC呼叫

-b選項用於與XJC命令來指定綁定文件。

xjc -b binding.xml myschema.xsd 

更多信息

+1

非常感謝,我會盡快測試 –