Le blog de pariviere

Eclipse 3.2 et Ubuntu Edgy Eft 6.10

Enfin!

J'y croyais plus mais Eclipse 3.2 est enfin arrivé dans la Ubuntu 6.10 - sortie aujourd'hui d'ailleurs - et cela juste quelques jours avant la release finale. Du coup j'ai lâché la version du site pour me tourner vers la version packagée.

Comme d'habitude l'installation est relativement simple

$ sudo aptitude install eclipse-sdk

Seule petite gêne - de mon point de vue en tous cas - la version fournie avec Ubuntu package également gcj. J'ai remarqué - c'est trés relatif - une certaine lenteur en utilisant gcj. Pour remédier à cela, plusieurs points:

  • Assurez vous d'abord d'avoir aucune référence à gcj dans le fichier /etc/eclipse/java_home.
  • Éditez le fichier /usr/bin/eclipse et tout à la fin commentez les lignes -Dgnu.gcj.precompiled.db.path=/var/lib/gcj-4.1/classmap.db et -Dgnu.gcj.runtime.VMClassLoader.library_control=never.
  • Enfin supprimez toutes les dépendances à gcj :D
$ sudo apt-get remove --purge `dpkg -l | grep gcj | awk {'print $2'}`

Voilà, un eclipse 3.2 tout frais, tout beau, packagé et sans gcj

Nouvel article disponible

Bonsoir,

En cette heure tardive, je viens de finir de mettre en ligne un nouvel article : "Gérez l'intégrité de votre modèle de données". Il s'agissait ici de fournir un exemple de gestion d'intégrité au sein même du code de l'application et non pas par des moyens détournés.

Il s'agit d'un article que j'ai publié en tant que ''Note de synthèse technique" sur la site Supinfo-Projects.com.

J'ai également mis à disposition la traduction anglaise.

Gérez l'intégrité de votre modèle de données

Manage model integrity

Maven2, XDoclet2, Hibernate, enfin!

Aprés avoir pas mal galéré pour faire générer mon mapping Hibernate depuis XDoclet2, lui même lancé via Maven2, j'ai enfin réussi à avoir une configuration qui me convient.

Pour avoir tout le bazar fonctionnel, il faut d'abord réussir à intégrer XDoclet2 et Maven2. Et vu le statut encore trés "développement" du plugin XDoclet2, ça n'a pas été évident de trouver la bonne configuration. Au final voilà ma configuration fonctionnelle :

<build>
    <plugins>
      <plugin>
        <groupId>xdoclet</groupId>
        <artifactId>maven2-xdoclet2-plugin</artifactId>
        <version>2.0.5-SNAPSHOT</version>
        <executions>
          <execution>
            <goals>
              <goal>xdoclet</goal>
            </goals>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>xdoclet-plugins</groupId>
            <artifactId>xdoclet-plugin-hibernate</artifactId>
            <version>1.0.4-SNAPSHOT</version>
          </dependency>
          <dependency>
            <groupId>xdoclet-plugins</groupId>
            <artifactId>xdoclet-plugin-hibernate</artifactId>
            <version>1.0.4-SNAPSHOT</version>
          </dependency>
        </dependencies>
        <configuration>
          <configs>
            <config>
              <plugin>org.xdoclet.plugin.hibernate.HibernateMappingPlugin</plugin>
              <params>
                <version>3.0</version>
                <destdir>${basedir}/target/classes/</destdir>
              </params>
            </config>
            <config>
              <plugin>org.xdoclet.plugin.hibernate.HibernateConfigPlugin</plugin>
              <params>
                <dialect>org.hibernate.dialect.HSQLDialect</dialect>
                <jdbcdriver>org.hsqldb.jdbcDriver</jdbcdriver>
                <jdbcurl>jdbc:hsqldb:mem:taskmanager</jdbcurl>
                <jdbcusername>sa</jdbcusername>
                <jdbcpassword></jdbcpassword>
                <hbm2ddlauto>create</hbm2ddlauto>
                <showsql>true</showsql>
                <version>3.0</version>
              </params>
            </config>
          </configs>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <pluginRepositories>
    <pluginRepository>
      <releases />
      <snapshots />
      <id>codehaus-plugins-legacy</id>
      <url>http://dist.codehaus.org/</url>
      <layout>legacy</layout>
    </pluginRepository>
    <pluginRepository>
      <releases />
      <snapshots />
      <id>codehaus-plugins</id>
      <url>http://dist.codehaus.org/</url>
    </pluginRepository>
  </pluginRepositories>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
    </dependency>
    <dependency>
      <groupId>hibernate</groupId>
      <artifactId>hibernate</artifactId>
      <version>3.0.5</version>
    </dependency>

Il est important de remarquer plusieurs choses :

  • On utilise la version 1.0.4-SNAPSHOT du plugin
  • On est dans l'obligation d'ajouter 2 dépôts supplémentaires donc l'un doit être au format legacy (ceci parce que le dépôt des plugins xdoclet n'a pas encore migrer vers Maven2)

Cependant chez moi la génération de la configuration Hibernate était d'une lenteur incroyable - dans les 40s. Bien que je n'explique pas trop le pourquoi, je suis donc partie à la recherche d'une solution plus viable. Et Spring est venu à moi.

En effet, étant donnée que la configuration Hibernate en elle même risque peu de changer, je l'ai directement inséré dans mon applicationContext-hibernate.xml. Le plugin XDoclet2 pour Maven2 s'occupant dorénavant que de la génération des fichiers mappings (*.hbm.xml), l'ensemble est plus rapide.

Ouverture du site

Ça y est je me suis enfin décidé à remettre d'aplomb ce site.