2012-11-01 12 views
22

Używam JAXB i XJC po raz pierwszy.JAXB, XJC -> utwórz wiele plików klas

Chciałbym wygenerować klasy Java z pliku XML, więc używam this online helper do generowania schematu z pliku XML.

Potem wystarczy użyć tego wiersza polecenia do generowania klas Java:

xjc myschema.xsd 

to praca, ale otrzymał tylko jeden plik Java i wiele klas statycznych wewnątrz niego. Czy można wygenerować wiele plików java, które zawierają tylko jedną klasę na plik?

Dziękuję

Odpowiedz

37

Domyślnie JAXB (JSR-222) stworzy statyczne klasy wewnętrzne dla zagnieżdżonych typów złożonych do zapobiegania konfliktom nazw klasy. Do wyłączenia tego zachowania można użyć zewnętrznego pliku powiązań.

binding.xml

Plik wiązanie pozwala dostosować sposób klas Java są generowane ze schematu 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 połączeń

Opcja -b służy pomocą polecenia XJC aby określić plik wiążącej.

xjc -b binding.xml myschema.xsd 

Aby uzyskać więcej informacji

+1

Wielkie dzięki, będę go przetestować jak najszybciej –

Powiązane problemy