Commande xjc pour applications JAXB
Utilisez les outils JAXB (Java™ Architecture for XML Binding) pour générer des classes Java à partir d'un schéma XML avec l'outil de compilation de schéma xjc.
JAXB est une technologie de liaison XML vers Java qui permet une transformation entre un schéma et des objets Java, ainsi qu'entre des documents d'instance XML et des instances d'objet Java. JAXB comprend une API d'exécution accompagnée d'outils simplifiant l'accès aux documents XML. Vous pouvez utiliser les JAXB API et les outils pour établir des mappages entre les classes Java et le schéma XML. Un schéma XML définit les éléments de données et la structure d'un document XML. La technologie JAXB fournit un environnement d'exécution qui vous permet de convertir vos documents XML vers et à partir des objets Java. Les données stockées dans un document XML sont accessibles sans qu'il soit nécessaire de comprendre la structure des données XML.
Vous pouvez générer des classes Java entièrement annotées à partir d'un fichier schéma XML en utilisant le compilateur de schéma JAXB, outil de ligne de commande xjc. Utilisez l'outil de compilation de schéma xjc pour démarrer à l'aide d'une définition de schéma XML (XSD) pour créer un ensemble de JavaBeans mappés vers les éléments et les types définis dans le schéma XSD. Dès que le mappage entre le schéma XML et les classes Java existe, les documents d'instance XML peuvent être convertis à partir et vers des objets Java via l'utilisation de l'API d'exécution de liaison JAXB. Les classes Java annotées en résultant contiennent toutes les informations nécessaires requises par l'environnement d'exécution JAXB pour analyser les éléments pour la conversion et la déconversion. Vous pouvez utiliser les classes Java résultant dans des applications JAX-WS (Java API for XML Web Services) ou dans vos applications autres que JAX-WS pour le traitement de données XML.


Outre l'utilisation de l'outil xjc à partir de la ligne de commande, vous pouvez appeler cet outil JAXB à partir des environnements de génération Ant. Utilisez la tâche Ant com.sun.tools.xjc.XJCTask à partir de l'environnement de génération Ant pour appeler l'outil de compilation de schéma xjc. Pour fonctionner correctement, la tâche Ant doit être appelée par le script ws_ant.

Syntaxe
La syntaxe de ligne de commande est la suivante :
![[Windows]](../images/windows.gif)
racine_serveur_app\bin\xjc.bat [options] <schema_file/URL/directory_or_jar> ...[-b<binding_information>] ...
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
racine_serveur_app/bin/xjc.sh [options] <schema_file/URL/directory_or_jar> ...[-b<binding_information>] ...
![[IBM i]](../images/iseries.gif)
racine_serveur_app/bin/xjc [options] <schema_file/URL/directory_or_jar> ...[-b<binding_information>] ...
Si un répertoire est spécifié, tous les fichier schéma contenus dans le répertoire sont compilés.
Paramètres
Le nom du fichier JAR fichier schéma/URL ou l'emplacement du répertoire est le seul paramètre requis. Les paramètres suivants sont facultatifs pour la commande xjc :
- -b <nom_fichier ou répertoire>
- Indique les fichiers de liaisons JAX-WS ou JAXB. Vous pouvez spécifier plusieurs fichiers de liaisons JAX-WS et JAXB à l'aide de l'option -b ; cependant, chaque fichier doit être spécifié avec sa propre option -b. Si un répertoire est spécifié, **/*.xjb est recherché.
- -catalog <nom_fichier>
- Indique le fichier catalogue permettant la résolution des références d'entité externes. Il prend en charge les formats de catalogue TR9401, XCatalog et OASIS XML.
- -classpath <chemin>
- Indique l'emplacement des fichiers classe.
- -d <répertoire>
- Indique l'emplacement dans lequel stocker les fichiers de sortie générés.
- -dtd
- Indique de traiter l'entrée comme une définition de type de document XML (DTD). Cette option n'est pas prise en charge et est à l'état d'expérimentation.
- -extension
- Indique si des extensions personnalisées doivent être autorisées pour les fonctionnalités non définies par la spécification JAXB. L'utilisation des extensions peut donner lieu à des applications non portables ou non interopérables avec d'autres implémentations.
- -help
- Affiche le menu d'aide.
- -httpproxy <[user[:password]@]<proxyhost>:<proxyport>>
- Indique un proxy HTTP pour HTTPs.
- -httpproxyfile <nom_fichier>
- Ce paramètres est similaire au paramètre -httpproxy, mais place l'argument dans un fichier pour protéger le mot de passe.
- -no-header
- Indique de supprimer la génération d'un en-tête de fichier avec un horodatage.
- -npa
- Indique de supprimer la génération de l'annotation au niveau du package **/package-info.java.
- -nv
- Indique de ne pas effectuer de validation stricte des schémas d'entrée.
- -p <nom_package>
- Indique un package cible.
- -quiet
- Indique de supprimer la sortie à partir de l'outil xjc.
- -relaxng
- Indique de traiter l'entrée en tant que RELAX NG (REgular LAnguage for XML Next Generation). Cette option n'est pas prise en charge et est à l'état d'expérimentation.
- -readOnly
- Indique que les fichiers générés sont en mode lecture seule.
- -relaxng-compact
- Indique de traiter l'entrée comme une syntaxe compacte RELAX NG (REgular LAnguage for XML Next Generation). Cette option n'est pas prise en charge et est à l'état d'expérimentation.
- -target <version>
- Indique de générer une sortie pour être conforme au niveau spécifié de la spécification JAX-WS. Indiquez 2.0 ou 2.1 pour que l'outil génère un code compatible pour la spécification JAXB 2.0 ou JAX-WS 2.1 respectivement. Indiquez 2.1 pour que l'outil génère un code compatible pour la spécification JAXB 2.1. La version cible par défaut est 2.2 et génère un code compatible pour la spécification JAXB 2.2.
- L'option target est obligatoire pour le profil Liberty.
- -verbose
- Indique les messages de sortie identifiant l'opération en cours du compilateur.
- -version
- Imprime les informations de version. Si vous spécifiez cette option, seules les informations de version sont générées et le traitement de commande standard n'a pas lieu.
- -wsdl
- Indique de traiter l'entrée comme un fichier WSDL (Web Services Description Language) et de compiler les schémas à l'intérieur du WSDL. Cette option n'est pas prise en charge et est à l'état d'expérimentation.
- -xmlschema
- Indique de traiter l'entrée comme un schéma XML W3C (World Wide Web Consortium). Il s'agit de la valeur par défaut.