Le plugin Maven 2 pour utiliser JAXB-2

Posted in Java/J2EE on mai 7th, 2009 by Ajrarn

…le projet sur lequel je travaille, pour mon client actuel, et sur lequel j’ai mis en place une structure de gestion de projet avec Maven 2, nécessite l’utilisation de JAXB-2.

J’ai ainsi découvert qu’il existait un plugin Maven très simple d’utilisation, permettant de générer les classes Java correspondant aux schémas .xsd automatiquement durant la phase de compilation de Maven.

Avant de rentrer dans le vif du sujet, je précise que j’utilise la dernière version du JDK 1.6 : le 1.6.0_13.

Java 6 propose les APIs JAXB 2.1 dans son rt.jar depuis l’update 4, semble-t-il. Mettez donc à jour votre JDK pour profiter pleinement de JAXB-2.

Pour utiliser JAXB-2 directement avec Maven, il est nécessaire d’ajouter un plugin dédié dans votre fichier pom.xml et de forcer la compilation Java avec une version 1.6.

Voici ce que vous devez ajoutez :

<build>
  <plugins>
  ...
    <plugin>
      <groupId>
        org.jvnet.jaxb2.maven2
      </groupId>
      <artifactId>
        maven-jaxb2-plugin
      </artifactId>
      <executions>
        <execution>
          <goals>
            <goal>
              generate
            </goal>
          </goals>
        </execution>
      </executions>
    </plugin>
    <plugin>
      <inherited>
        true
      </inherited>
      <groupId>
        org.apache.maven.plugins
      </groupId>
      <artifactId>
        maven-compiler-plugin
      </artifactId>
      <configuration>
        <source>
          1.6
        </source>
        <target>
          1.6
        </target>
      </configuration>
    </plugin>
    ...
  </plugins>
...
</build>

Il ne vous reste plus qu’à ajouter vos schémas XML (.xsd) dans le répertoire de ressources src/main/resources et de lancer la phase de compilation Maven, en vous plaçant dans le répertoire de votre projet contenant le pom.xml et en lançant la commande suivante :

mvn compile

ou directement :

mvn install

Vous trouverez les classes résultantes de la génération JAXB-2 dans le répertoire target/generated-sources/xjc.

Si en plus, vous utilisez Eclipse et le plugin M2Eclipse, vous n’avez rien à faire du tout… Les classes sont générées directement lorsque vous enregistrez votre pom.xml.

Magique non?

Pour finir, un petit rappel sur la manière de sérialiser vos objets Java à partir d’un fichier XML avec JAXB.

Je pars du principe qu’un fichier test.xml se trouve dans le classpath du projet et qu’on souhaite sérialiser une classe Toto.

JAXBContext jaxbContext = null;
Toto toto = null;
try {
  jaxbContext = JAXBContext
        .newInstance(Config.class);
  Unmarshaller unMarshaller = jaxbContext
        .createUnmarshaller();
  InputStream is = getClass()
        .getResourceAsStream("/test.xml");
  toto = (Toto) unMarshaller
        .unmarshal(is);
} catch (JAXBException e) {
  //Un petit commentaire
  //Une trace de log
  //La gestion de l'exception
}

Tags: , , , , , ,

Debout les morts

Posted in Mes lectures on mai 7th, 2009 by Ajrarn

Auteur : Fred Vargas

Note : 4.5/5

Quatrième de couverture : Un matin, la cantatrice Sophia Siméonidis découvre, dans son jardin, un arbre qu’elle ne connaît pas. Un hêtre. Qui l’a planté là ? Pourquoi ? Pierre, son mari, n’en a que faire. Mais la cantatrice, elle, s’inquiète, en perd le sommeil, finit par demander à ses voisins, trois jeunes types un peu déjantés, de creuser sous l’arbre, pour voir si… Quelques semaines plus tard, Sophia disparaît tandis qu’on découvre un cadavre calciné. Est-ce le sien ? La police enquête. Les voisins aussi. Sophia, ils l’aimaient bien. L’étrange apparition du hêtre n’en devient que plus énigmatique.

Debout les morts est mon quatrième roman de Fred Vargas après Les jeux de l’Amour et de la mort, L’homme aux cercles bleus et Ceux qui vont mourir te saluent.

Les jeux de l’Amour et de la mort m’a laissé complètement de marbre.

L’homme aux cercles bleus m’a beaucoup plu.

Ceux qui vont mourir te saluent m’a plutôt déçu (ma critique ici).

Mais là, attention, on passe à une vitesse supérieure avec Debout les morts! Ce roman est tout simplement excellent!

La qualité première de Vargas est sa capacité à engendrer des personnages hauts en couleur, qui ne laissent pas indifférents. Là, elle atteint des sommets avec les 3 évangélistes, Saint Marc, Saint Mathieu et Saint Luc (alias Marc, Mathias et Lucien) et le vieux flic pourri Vandoosler.

C’est vraiment un plaisir de découvrir ces personnages atypiques et si bien travaillés, dans une enquête, non moins intéressantes, aux rebondissements nombreux et à la fin très réussie.

Bref, du bon. Du très bon. Ne surtout pas passer à côté!

Tags: ,