2012-11-01 13 views
22

Sto usando JAXB e XJC per la prima volta.JAXB, XJC -> crea più file di classe

Vorrei generare classi Java da file XML, quindi utilizzo this online helper per generare lo schema dal file XML.

Dopo di che mi basta usare questa riga di comando per generare le classi Java:

xjc myschema.xsd 

è un lavoro, ma ho ricevuto solo un file Java e molte classi statiche all'interno di esso. È possibile generare molti file java che contengono solo una classe per file, per favore?

Grazie

risposta

37

Per impostazione predefinita JAXB (JSR-222) creerà le classi interne statiche per i tipi complessi annidati per prevenire i conflitti di classe di nome. È possibile utilizzare un file di bind esterno per disabilitare questo comportamento.

binding.xml

Un file di collegamento consente di personalizzare come classi Java sono generati da uno schema 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 chiamata

L'opzione -b viene utilizzata con il comando XJC per specificare un file di legame.

xjc -b binding.xml myschema.xsd 

Per ulteriori informazioni

+1

Molte grazie, mi metterà alla prova il più presto possibile –

Problemi correlati