java - plugin - ¿Qué artefactos debo usar para JAXB RI en mi proyecto Maven?
maven resources folder (1)
Después de la aclaración con Oracle, se deben utilizar los siguientes artefactos:
Tiempo de ejecución
Si desea descomponer XML a objetos Java u ordenar 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>
Los dos últimos artefactos (
org.glassfish.jaxb:jaxb-xjc
y
org.glassfish.jaxb:jaxb-jxc
) están envueltos por complementos de 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 el classpath completo, active la salida de depuración y verifique la consola Maven. Es posible que vea el siguiente mensaje de error allí:
[ERROR] ''dependencyManagement.dependencies.dependency.systemPath'' para com.sun: tools: jar debe especificar una ruta absoluta pero es $ {tools.jar} @
Esto se debe al siguiente problema:
La
solution
de @rustyx es agregar la opción
-vm
al
eclipse.ini
:
-vm
<PATH_TO_JDK>/jre/bin/javaw.exe
Históricamente, siempre utilicé los siguientes artefactos JAXB RI en mis proyectos de 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 JAXB Runtime.
Parece que estos artefactos ahora son obsoletos.
La pregunta es:
¿Qué artefactos deberían usarse en su lugar?