Я определил, что существуют два плагина JAXB для Maven 2 с разными конфигурациями.
Один от Sun: http://jaxb.dev.java.net/jaxb-maven2-plugin/ , другой от Mojohaus: http://mojohaus.org/jaxb2-maven-plugin/
Какой из этих двух плагинов можно порекомендовать?
Спасибо, Мэтт. В ходе моего небольшого исследовательского проекта я обнаружил, что есть еще один плагин от солнечных лучей:
<groupId>com.sun.tools.xjc.maven2</groupId>
<artifactId>maven-jaxb-plugin</artifactId>
и тот:
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
и все еще тот, что был от Codehouse.
maven-jaxb2-plugin
теперь размещен на GitHub . Документация находится в вики .Недавно я попробовал три упомянутых выше плагина (также включенных сюда):
В итоге я использовал четвертый вариант: плагин CXF XJC Maven http://cxf.apache.org/cxf-xjc-plugin.html
Если мне не хватает чего-то, что я хотел бы знать, но конфигурация казалась более простой для того, что я пытался сделать, и более легко позволяла мне иметь дело с дублированием генерации классов в том же пространстве имен - аналогично этому вопросу: есть ли способ справиться с повторяющимися определениями элементов в нескольких файлах .xsd в JAXB? ,
Теперь у меня есть детальный контроль над каждым входящим XSD и соответствующим пакетом java; вот пример конфигурации, близкой к той, которую я использую.
источник
Я автор maven-jaxb2-plugin .
В настоящее время плагин maven-jaxb2-plugin использует JAXB 2.1. В следующих версиях мы также предоставим версии JAXB 2.0 и JAXB 2.2.
Что касается обсуждения "какой плагин лучше", проверьте возможности , решайте сами. Дайте мне знать, если вы упустите какую-то функцию.
источник
источник
По небольшому поводу: возникла проблема с использованием maven-jaxb2-plugin с Eclipse Indigo, которую я разместил здесь . Недавно стало доступно исправление (расширение).
Это вовсе не означает несогласия с рекомендацией maven-jaxb2-plugin над maven2-jaxb-plugin. Я не знаю, но я ожидаю, что maven2-jaxb-plugin имеет ту же проблему, возможно, нерешенную.
источник
Я бы предположил, что один предназначен для исходной спецификации JAXB, а другой - для спецификации JAXB 2.1 (и если dev.java.net загрузится когда-нибудь в этом столетии, я могу сказать наверняка).
источник