Mandato xjc para aplicaciones JAXB
Utilice las herramientas JAXB (Java™ Architecture for XML Binding) para generar clases Java desde un esquema XML con la herramienta de compilador de esquemas xjc.
JAXB es una tecnología de enlace de XML a Java que permite la transformación entre objetos Java y de esquema y entre documentos de instancia XML e instancias de objetos Java. La tecnología JAXB está formada por una API de tiempo de ejecución y unas herramientas que la acompañan que simplifican el acceso a documentos XML. Puede utilizar las herramientas y las API de JAXB para establecer correlaciones entre las clases Java y el esquema XML. Un esquema XML define la estructura y los elementos de datos de un documento XML. La tecnología JAXB proporciona un entorno de ejecución que le permite convertir los documentos XML en objetos Java y viceversa. Se puede acceder a los datos almacenados en un documento XML, sin tener que comprender la estructura de datos XML.
Puede generar clases Java totalmente anotadas a partir de un archivo de esquema XML utilizando la herramienta de la línea de mandatos del compilador de esquemas de JAXB, xjc. Utilice la herramienta de compilador de esquemas xjc para empezar con una definición de esquema XML (XSD) para crear un conjunto de JavaBeans que se correlacionen con los elementos y los tipos definidos en el esquema XSD. Una vez exista la correlación entre el esquema XML y las clases Java, los documentos de instancia XML pueden convertirse en y desde objetos Java mediante el uso de la API de tiempo de ejecución de enlace JAXB. Las clases Java anotadas resultantes contienen toda la información necesaria que requiere el tiempo de ejecución de JAXB para analizar el XML para clasificar y desclasificar. Puede utilizar las clases JAXB resultantes en aplicaciones JAX-WS (Java API for XML Web Services) o en las aplicaciones Java que no son JAX-WS para procesar datos XML.


Además de utilizar la herramienta xjc desde la línea de mandatos, puede invocar esta herramienta JAXB desde entornos de compilación Ant. Utilice la tarea Ant com.sun.tools.xjc.XJCTask desde el entorno de compilación Ant para invocar la herramienta del compilador de esquemas xjc. Para que funcione debidamente, esta tarea Ant requiere que se invoque Ant mediante el script ws_ant.

Sintaxis
La sintaxis de la línea de mandatos es:
![[Windows]](../images/windows.gif)
raíz_servidor_aplicaciones\bin\xjc.bat [opciones] <archivo_esquema/URL/directorio_o_jar> ...[-b<información_enlace>] ...
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
raíz_servidor_aplicaciones/bin/xjc.sh [opciones] <archivo_esquema/URL/directorio_o_jar> ...[-b<información_enlace>] ...
![[IBM i]](../images/iseries.gif)
raíz_servidor_aplicaciones/bin/xjc [opciones] <archivo_esquema/URL/directorio_o_jar> ...[-b<información_enlace>] ...
Si se especifica el directorio, se compilan todos los archivos de esquema en el directorio.
Parámetros
El nombre de archivo o ubicación JAR archivo_esquema/URL del directorio es el único parámetro necesario. Los siguientes parámetros son opcionales para el mandato xjc:
- -b <nombre_archivo o directorio>
- Especifica los archivos JAX-WS o JAXB de enlace externos. Puede especificar varios archivos de enlace JAX-WS y JAXB mediante la opción -b. No obstante, cada archivo se debe especificar con su propia opción -b. Si se especifica un directorio, se busca **/*.xjb.
- -catalog <nombre_archivo>
- Especifica el archivo de catálogo para resolver las referencias de entidad externas. Da soporte a los formatos de catálogos XML TR9401, XCatalog y OASIS.
- -classpath <vía_acceso>
- Especifica la ubicación de los archivos de clase.
- -d <directorio>
- Especifica dónde se han de colocar los archivos de salida generados.
- -dtd
- Especifica que se ha de tratar la entrada como definición de tipo de documento (DTD) XML. Esta opción no está soportada y es experimental.
- -extension
- Especifica si se habilitan extensiones personalizadas para las funciones que no están especificadas en la especificación JAXB. Si se utilizan extensiones, es posible que las aplicaciones no se puedan portar o no puedan interactuar con otras implementaciones.
- -help
- Muestra el menú de ayuda.
- -httpproxy <[user[:password]@]<hostProxy>:<puertoProxy>>
- Especifica un proxy HTTP o HTTPs.
- -httpproxyfile <nombre_archivo>
- Este parámetro es parecido al parámetro -httpproxy, pero adopta el argumento en un archivo para proteger la contraseña.
- -no-header
- Especifica que se ha de suprimir la generación de una cabecera de archivo con una indicación de fecha y hora.
- -npa
- Especifica que se ha de suprimir la generación de la anotación a nivel de paquete **/package-info.java.
- -nv
- Especifica que no se ha de efectuar una validación estricta de los esquemas de entrada.
- -p <nombre_paquete>
- Especifica un paquete de destino.
- -quiet
- Especifica que se ha de suprimir la salida de la herramienta xjc.
- -relaxng
- Especifica si se ha de tratar la entrada como RELAX NG (REgular LAnguage for XML Next Generation). Esta opción no está soportada y es experimental.
- -readOnly
- Especifica que los archivos generados están en modalidad de sólo lectura.
- -relaxng-compact
- Especifica si se ha de tratar la entrada como la sintaxis compacta RELAX NG (REgular LAnguage for XML Next Generation). Esta opción no está soportada y es experimental.
- -target <versión>
- Especifica que se ha de generar la salida según el nivel especificado de la especificación JAX-WS. Especifique 2.1 o 2.1 para que la herramienta genere código compatible para la especificación JAXB 2.1 o JAX-WS 2.1, respectivamente. Especifique 2.1 para que la herramienta genere código compatible para la especificación JAXB 2.1. La versión de destino predeterminada es 2.2 y genera código compatible para la especificación JAXB 2.2.
- La opción target es necesaria para el perfil Liberty.
- -verbose
- Especifica que se han de generar mensajes de salida relacionados con las acciones del compilador.
- -version
- Imprime la información de versión. Si especifica esta opción, sólo se incluye en la salida la información de la versión y no se produce el habitual proceso de mandatos.
- -wsdl
- Especifica que se ha de tratar la entrada como un archivo WSDL (Web Services Description Language) y compilar esquemas en el WSDL. Esta opción no está soportada y es experimental.
- -xmlschema
- Especifica que se ha de tratar la entrada como un esquema XML de W3C (World Wide Web Consortium). Este valor es el predeterminado.