Как сгенерировать Java из XSD с использованием MOXy в Maven-3?

#maven-2 #jaxb #maven-3 #moxy

#maven-2 #jaxb #maven-3 #moxy

Вопрос:

Какой самый простой / наилучший способ сгенерировать Java из XSD с использованием MOXy в Maven-3? В эталонном интерфейсе JAXB есть хороший плагин Maven, но, похоже, он не поддерживает MOXy.

У кого-нибудь есть что-нибудь конкретное, чтобы предложить? (Я знаю, что могу написать ant-скрипт, или плагин, или …)

Ответ №1:

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

MOXy использует компонент XJC из эталонной реализации, чтобы вы могли получить доступ к этому подключаемому модулю Maven и добавить, а затем добавить jaxb.properties файл, указывающий MOXy в качестве поставщика JAXB:

Комментарии:

1. Мне нужно запустить версию XJC MOXy, не так ли — особенно если использовать eclipselink-oxm.xml файлы? Итак, куда бы в этом контексте отправились файл jaxb.properties и файлы oxm? Я думал, что обычно это входит в создаваемый пакет, и что обычно xjc создает его, а не читает.

2. @Ed Staub — MOXy использует компонент XJC из эталонной реализации. Поскольку сгенерированные файлы являются стандартными, не имеет значения, какую реализацию вы используете для их создания. При запуске скриптов MOXy jaxb-compiler.sh у нас есть небольшой класс-оболочка, который создает файл jaxb.properties в соответствующем месте. Вы правы, файл jaxb.properties должен быть включен в создаваемый пакет. В настоящее время мы не поддерживаем генерацию eclipselink-oxm.xml файлы из XJC, в настоящее время этот файл используется в качестве альтернативы аннотациям при запуске из классов Java.

3. @Ed Staub — Для получения информации об использовании eclipselink-oxm.xml смотрите: bdoughan.blogspot.com/2010/12 /…

4. jaxb.java.net/jaxb-maven2-plugin это не плагин codehaus, поскольку это не oracle code base, мой работодатель говорит, что это нестандартно, и мы не можем это использовать