Vamos resumir. Nós temos:
- o maven-jaxb2-plugin ( https://github.com/highsource/maven-jaxb2-plugin )
- o maven-jaxb-plugin ( https://jaxb.dev.java.net/jaxb-maven2-plugin/ )
- o plugin jaxb2-maven ( https://github.com/mojohaus/jaxb2-maven-plugin )
Com base nos comentários deste tópico , eu sempre usei o maven-jaxb2-plugin (ou seja, o plugin # 1):
Em relação ao org.jvnet.jaxb2.maven2: maven-jaxb2-plugin versus com.sun.tools.xjc.maven2: maven-jaxb-plugin, do meu ponto de vista, é definitivamente o primeiro ( http: // maven-jaxb2 -plugin.java.net/ ).
Este plugin possui muito mais recursos do que com.sun.tools.xjc.maven2: maven-jaxb-plugin, o desenvolvimento está ativo. Finalmente, sou um dos autores :) e eu diria que mantemos contato com desenvolvedores e usuários do JAXB e reagimos aos recursos / solicitações mais recentes.
E, de fato, o plug-in # 2 não é muito ativo (morto?). E como sempre fui feliz com o número 1, nunca usei o plug-in nº 3, por isso não posso dizer nada sobre isso. Por precaução, aqui está uma configuração funcional para o plug-in # 1:
<project>
...
<build>
<plugins>
<plugin>
<inherited>true</inherited>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
maven-jaxb2-plugin
agora está hospedado no GitHub . A documentação está no wiki .Recentemente, tentei os três plug-ins mencionados acima (também incluídos aqui):
Acabei usando uma quarta opção: O CXF XJC Maven Plugin http://cxf.apache.org/cxf-xjc-plugin.html
Se eu estou faltando alguma coisa que eu gostaria de saber, mas a configuração parecia mais simples para o que eu estava tentando fazer e mais facilmente me permitiu lidar com geração de classe duplicado dentro do mesmo namespace - semelhante a esta pergunta: Existe uma maneira de lidar com definições de elementos duplicados em vários arquivos .xsd no JAXB? .
Agora tenho controle granular sobre cada XSD recebido e o pacote java correspondente; Aqui está um exemplo de configuração próxima à que estou usando.
fonte
Eu sou o autor do maven-jaxb2-plugin .
O maven-jaxb2-plugin atualmente usa o JAXB 2.1. Nas próximas versões, também forneceremos as versões JAXB 2.0 e JAXB 2.2.
Quanto à discussão sobre "qual plugin é melhor", verifique os recursos e decida-se. Deixe-me saber se você perder alguma funcionalidade.
fonte
fonte
Por uma ligeira tangente: houve um problema com o uso do maven-jaxb2-plugin com o Eclipse Indigo que publiquei aqui . Uma correção (extensão) tornou-se disponível recentemente.
Isso não pretende discordar, de forma alguma, da recomendação do maven-jaxb2-plugin sobre o maven2-jaxb-plugin. Não sei, mas espero que o maven2-jaxb-plugin tenha o mesmo problema, provavelmente não resolvido.
fonte
Eu acho que um é para a especificação original do JAXB e o codehaus é para a especificação do JAXB 2.1 (e se o dev.java.net carregasse algum tempo neste século, eu seria capaz de dizer com certeza).
fonte