¿Qué artefactos debo usar para JAXB RI en mi proyecto Maven?


Históricamente, siempre he utilizado los siguientes artefactos JAXB RI en mis proyectos Maven:

  • com.sun.xml.bind:jaxb-impl - Tiempo de ejecución
  • com.sun.xml.bind:jaxb-xjc - Compilador de esquemas
  • com.sun.xml.bind:jaxb-jxc - Generador de esquemas

Desde aproximadamente la versión 2.2.10* estos artefactos ahora se describen como "antiguos":

com.sun.xml.bind:jaxb-impl

Antiguo módulo de tiempo de ejecución de JAXB.

Así que parece que estos artefactos ahora están obsoletos.

La pregunta es:

Que artefactos deben ser utilizados en su lugar?

Author: lexicore, 2014-10-17

1 answers

Después de la aclaración con Oracle, se deben usar los siguientes artefactos:

Tiempo de ejecución

Si desea desmarcar XML a objetos Java o combinar objetos Java como XML:

<dependency>
    <groupId>org.glassfish.jaxb</groupId>
    <artifactId>jaxb-runtime</artifactId>
    <version>...</version>
</dependency>

Compilador de esquemas (XJC)

Si tiene un esquema XML y desea generar el código Java a partir de él:

<dependency>
    <groupId>org.glassfish.jaxb</groupId>
    <artifactId>jaxb-xjc</artifactId>
    <version>...</version>
</dependency>

Generador de esquemas (JXC/schemagen)

Si tiene clases Java con anotaciones JAXB y desea generar un esquema XML basado en ellas:

<dependency>
    <groupId>org.glassfish.jaxb</groupId>
    <artifactId>jaxb-jxc</artifactId>
    <version>...</version>
</dependency>

El dos últimos artefactos (org.glassfish.jaxb:jaxb-xjc y org.glassfish.jaxb:jaxb-jxc) están envueltos por complementos Maven, por lo que normalmente no los necesitaría en el tiempo de ejecución.

Uso de eclipse

Si sus proyectos Maven de alguna manera no obtienen la ruta de clase completa, active la salida de depuración y verifique la consola Maven. Es posible que esté viendo el siguiente mensaje de error allí:

[ERROR] 'dependencyManagement.dependencia.dependencia.systemPath ' para com.sun: tools: jar debe especificar una ruta absoluta pero es tools{tools.frasco} @

Esto se debe al siguiente problema:

Maven no elige JAVA_HOME correctamente

La solución de @rustyx es agregar la opción -vm a eclipse.ini:

-vm
<PATH_TO_JDK>\jre\bin\javaw.exe
 44
Author: lexicore,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:25:52