Подтвердить что ты не робот

JAXB, XJC → создать несколько файлов классов

Я использую JAXB и XJC в первый раз.

Я хотел бы генерировать классы Java из XML файла, поэтому я использую этот онлайн-помощник для создания схемы из XML файла.

После этого я просто использую эту командную строку для генерации Java-классов:

xjc myschema.xsd

он работает, но я получаю только один файл Java и многие статические классы внутри него. Возможно ли создать много java файлов, содержащих только один класс в файле?

Спасибо

4b9b3361

Ответ 1

По умолчанию 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

Дополнительная информация