Développons en Java avec Eclipse v 0.80 | ||||||
Copyright (C) 2003-2007 Jean-Michel DOUDOUX |
L'utilisation de XML est omniprésente dans la conception, le développement et la mise en d'oeuvre d'applications que ce soit pour configurer ou déployer une application, échanger ou stocker des données.
Ce chapitre contient plusieurs sections :
JAXB est l'acronyme de Java Architecture for XML Binding. Le but de l'API et des spécifications JAXB est de faciliter la manipulation d'un document XML en générant un ensemble de classes qui fournissent un niveau d'abstraction plus élevé que l'utilisation de JAXP (SAX ou DOM). Avec ces deux API, toute la logique de traitements des données contenues dans le document est à écrire.
JAXB au contraire fournit un outil qui analyse un schéma XML et génère à partir de ce dernier un ensemble de classes qui vont encapsuler les traitements de manipulation du document.
Pour pouvoir utiliser JAXB, il est nécessaire d'installer le Java Web Services Developer Pack 1.3. Dans le cas de l'utilisation d'un JDK 1.4, attention de bien suivre les instructions fournies à la fin de l'installation.
Il est aussi nécessaire de définir deux variables d'environnement système (sous Windows 2000 : menu "Paramètres / Panneau de configuration / Système", sélectionner l'onglet "avancé", puis cliquer sur le bouton "variables d'environnement" ) :
JAVA_HOME dont la valeur doit correspondre au répertoire d'installation du JDK :
JAXB_HOME dont la valeur doit correspondre au répertoire dans lequel le JWSDP est installé :
Il existe deux moyens d'utiliser JAXB avec Eclipse :
Version utilisée dans cette section |
|
Eclipse |
2.1.2 |
J2RE |
1.4.2_02 |
JAXB |
1.3 |
Il faut créer un nouveau projet, par exemple nommé test_jaxb et modifier son chemin de compilation (dans les propriétés du projet) pour ajouter plusieurs fichiers .jar :
Il faut ensuite créer une nouvelle tâche d'exécution en utilisant l'option du menu « Exécuter/Exécuter ... » et en cliquant sur le bouton “Nouveau”.
Il faut changer le nom, par exemple « Génération des classes JAXB » et saisir dans le champ Classe Main la valeur « LauncherBootstrap ».
Sur l'onglet « Arguments », dans la zone de saisie "Arguments de programme" saisir (bibliotheque.xsd est le nom du fichier qui contient le schéma du document XML) :
-verbose xjc bibliotheque.xsd -p com.moi.test.jaxb
Sur l'onglet « Chemin d'accès aux classes », décochez « Utiliser le chemin d'accès aux classes par défaut » puis cliquez sur le bouton « Avancées »
Cliquez sur le bouton « Ajouter un dossier externe » puis sur le bouton "Ok"
Selectionnez le repertoire %JWSDP%/jwsdp-shared/bin et cliquez sur le bouton « OK »
Cliquez sur le bouton « Fermer »
Cliquez sur le bouton « Oui »
Il faut aussi ajouter le fichier tools.jar présent dans le répertoire lib du JDK :
Si ce fichier n'est pas ajouté, une exception est levée lors de l'exécution :
file:C:/java/jwsdp-1.3/jwsdp-shared/bin/launcher.xml:329: java.io.IOException: Could not find Java(TM) 2 SDK classes. This application cannot run using the Java(TM) 2 JRE. It requires the full SDK.
at org.apache.commons.launcher.LaunchTask.execute(LaunchTask.java:728)
at org.apache.tools.ant.Task.perform(Task.java:341)
at org.apache.tools.ant.Target.execute(Target.java:309)
La configuration est maintenant terminée, il faut un schéma qui décrit le document XML directement à la racine du projet, par exemple bibliotheque.xsd.
Pour lancer la génération des classes Java par JAXB, il faut utiliser l'option du menu « Exécuter/Exécuter ... » et sélectionner « Application Java/Generation de classe JAXB »
La boîte de dialogue réaffiche les paramètres précédemment enregistrés : il suffit de cliquer sur le bouton « Exécuter ».
Les messages issus des traitements sont affichés dans la console.
Dans la vue « Packages », sélectionner le projet test_jaxb et utiliser l'option « Régénérer » du menu contextuel pour rafraîchir le contenu du projet et voir les fichiers générés lors des traitements.
L'exécution de JAXB se fait normalement en utilisant une tache Ant dédiée.
Malheureusement, il y a une incompatibilité entre la version de Ant fournie avec Eclipse et celle requise par JAXB. L'exécution d'un build.xml en utilisant Ant fourni avec Eclipse échoue systématiquement :
Résultat de l'exécution : |
|
Pour résoudre ce problème et utiliser Ant, il faut l'exécuter en tant qu'outil externe.
Il faut définir le fichier build.xml qui va contenir les différents traitements à exécuter par Ant.
Résultat de l'exécution : |
|
Il faut utiliser l'option du menu « Exécuter/ Outils externes/Outils externes ... » et cliquer sur le bouton « Nouveau ».
Sur l'onglet « Principal », il suffit de sélectionner l'emplacement du fichier ant.bat fourni avec le JWSDP, puis de cliquer sur le bouton « Appliquer », puis sur le bouton « Exécuter ».
Les informations générées par Ant au cours de l'exécution sont affichées dans la console.
Résultat de l'exécution : |
|
Pour voir les fichiers générés par JAXB lors de ces traitements, il suffit d'utiliser l'option « Régénérer » du menu contextuel du projet dans la vue « Packages ».
Le plug-in WTP facilite la manipulation de documents XML.
Il faut créer une nouvelle entité de type XML/XML
Cliquez sur le bouton « Suivant »
Sélectionnez « Créer un fichier XML à partir de rien » puis cliquez sur le bouton « Suivant »
Sélectionnez le répertoire qui va contenir le fichier, saisissez son nom et cliquez sur le bouton « Terminer »
L'éditeur de documents XML s'ouvre avec le nouveau document créé.
L'éditeur propose une coloration syntaxique du code.
La syntaxe du code XML est vérifiée au fur et à mesure de la saisie
L'assistant de code permet de faciliter la saisie du code du document.
La vue « Properties » permet d'afficher les attributs du tag sur lequel est positionné le curseur dans l'éditeur de code
Il faut créer une nouvelle entité du type « XML/Fichier DTD ».
Cliquez sur le bouton "Suivant" puis sélectionnez le répertoire qui va contenir le fichier et saisissez son nom
Cliquez sur le bouton « Terminer » pour générer le fichier et l'ouvrir dans l'éditeur.
Il faut créer une nouvelle entité du type « XML/Schéma XML ».
Cliquez sur le bouton "Suivant".
Saisissez le nom du fichier .xsd et cliquez sur le bouton "Terminer.
L'onglet "Graphique" permet d'offir une vision graphique du contenu du document.
La vue propriétés permet d'affiche des informations sur le schéma.
En cliquant sur le bouton "Option avancées", une boîte de dialogue s'ouvre en affichant des informations sur le schéma.
Pour accéder aux préférences concernant les fichiers XML, il est possible d'utiliser l'option « Préférences ... » du menu « Fenêtre » ou d'utiliser l'option « Préférence » du menu contextuel de l'éditeur de code XML.
Cette page permet de sélectionner le caractère de fin de ligne des documents et la norme d'encodage par défaut des documents.
Cette page permet de configurer certaines règles pour le formatage du code source des documents XML.
Cette page permet de préciser les couleurs de chaque éléments qui peuvent composer un document XML.
Cette page permet de gérer des modèles réutilisables lors de l'édition de documents XML.
L'assistant de création d'un document XML propose de le faire à partir d'une DTD afin de faciliter sa rédaction
Le fichier test.dtd ci-dessous est utilisé dans les exemples de cette section.
Exemple : |
|
Il faut créez une nouvelle entité de type XML/XML
Sélectionnez « Créer un fichier XML à partir d'un fichier DTD » et cliquez sur le bouton « Suivant ».
Sélectionnez le répertoire qui va contenir le fichier, saisissez son nom et cliquez sur le bouton « Suivant »
Sélectionnez la dtd à utiliser et cliquez sur le bouton « Suivant »
Sélectionnez l'élément racine et les options désirées puis cliquez sur le bouton « Terminer ».
L'éditeur de code s'ouvre avec le document XML généré
L'onglet concepteur permet de fournir une vue arbrescente du contenu du document.
L'assistant de code propose uniquement les tags définis dans la dtd.
Le document est dynamiquement vérifié au fur et à mesure de la saisie du code du document
Le plug in WTP propose des fonctionnalités pour valider les documents de type XML, DTD et XML Schema.
Cette validation peut être implicite (lors de la sauvegarde d'un document) ou explicite (à la demande de l'utilisateur d'Eclipse).
La validation explicite peut être demandée en utilisant l'option « Valider le fichier XXX » du menu contextuel associé à un document de type XML, DTD et XML Schema.
Si le document est valide, un message en informe l'utilisateur.
Si le document est invalide, un message d'erreur en informe aussi l'utilisateur.
Les erreurs des documents non valides sont signalées dans l'éditeur de code
Ces erreurs sont aussi incluses dans la vue « Erreurs » au même titre que les erreurs dans du code Java.
Il est possible de modifier le mode de fonctionnement de la validation automatique lors de l'enregistrement des documents d'un projet en utilisant les préférences liées au projet.
Il suffit de cocher la case « Remplacer les préférences de validation », de modifier les options voulues et de cliquez sur le bouton « OK » pour valider les options.
Développons en Java avec Eclipse v 0.80 | |||||||
Copyright (C) 2003-2007 Jean-Michel DOUDOUX |