2012-11-01 11 views
22

Ich benutze JAXB und XJC zum ersten Mal.JAXB, XJC -> mehrere Klassen-Dateien erstellen

Ich möchte Java-Klassen aus XML-Datei generieren, damit ich this online helper verwenden, um Schema aus XML-Datei zu generieren.

Danach benutze ich nur diese Befehlszeile Java-Klassen zu generieren:

xjc myschema.xsd 

es Arbeit ist, aber ich erhalte nur eine Java-Datei und viele statische Klassen in seinem Inneren. Ist es möglich, viele Java-Dateien zu generieren, die nur eine Klasse pro Datei enthalten?

Danke

Antwort

37

standardmäßig JAXB (JSR-222) statische innere Klassen für verschachtelte komplexe Typen schaffen Klassennamen Konflikte zu verhindern. Sie können eine externe Bindungsdatei verwenden, um dieses Verhalten zu deaktivieren.

binding.xml

Eine Einbindemappe können Sie anpassen, wie Java-Klassen aus einem XML-Schema erzeugt werden.

<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 Anruf

Die -b Option wird mit dem XJC Befehl verwendet, um eine Bindungsdatei.

xjc -b binding.xml myschema.xsd 

Weitere Informationen

+1

Vielen Dank, werde ich es testen, so schnell wie möglich –

Verwandte Themen