Gentoo Logo

Guide de mise à jour Java pour Gentoo

Table des matières :

1.  Introduction

Bonjour et bienvenue. Dès à présent, vous pouvez vous demander « pourquoi devrais-je mettre à jour Java ? ». Ou peut-être que vous avez commencé à le faire et que vous avez été redirigé vers cette page à cause d'une erreur qui s'est produite pendant une installation avec « emerge » ? Le but de ce document est de vous aider à évoluer vers le nouveau système Java. Ah, mais qu'y a-t-il de nouveau avec ce nouveau système Java ?

Le nouveau système Java

Pour ceux qui ne sont pas familiers avec le nouveau système Java, voici une liste des nouvelles fonctionnalités :

  • Possibilité de changer la machine virtuelle (VM) à la volée
  • Les modifications apportées à l'utilisateur et à la machine virtuelle du système prennent effet immédiatement et ne sont plus dépendantes l'environnement Shell (c'est-à-dire qu'il n'est plus nécessaire de faire env-update && source /etc/profile après avoir changé de machine virtuelle).
  • Dès à présent, c'est le concept d'un « build VM » qui est utilisé pour installer les paquetages avec emerge et il est configuré indépendamment de la machine virtuelle du système.
  • Pour chaque version de Java (versions 1.3, 1.4, 1.5, etc...), le « build VM » peut être configuré pour choisir le fournisseur et la version de la machine virtuelle que l'on souhaite utiliser.
  • Au moment de la compilation d'un fichier, la bonne machine virtuelle sera utilisée conformément à sa configuration et aux dépendances nécessaires au paquetage à installer. Par exemple, la compilation de certains paquetages échoue avec la version 1.5. Dans ce cas, la version 1.4 de la machine virtuelle sera utilisée au moment de la compilation.
  • Les paquetages Java qui ont été installés avec ant posséderont leur fichier « build.xml » réécrit au moment de la compilation afin d'être sûr que la bonne version de Java soit utilisée.
  • La version 1.5 de Java n'est plus masquée.
  • La version 1.6 de Java sera disponible dès sa sortie.

Terminologie et concepts

Maintenant que vous avez une idée de ce que vous allez obtenir, voici quelques limites et concepts qui peuvent vous être utiles avant de commencer :

Génération
C'est un nouveau concept. Une génération est un ensemble d'outils et d'« eclasses » permettant d'installer des paquetages Java. En quelque sorte, nous commençons à migrer vers une nouvelle génération de Java. Durant ce temps, les deux générations coexisteront sur votre système et dans l'arborescence de portage. Donc, par exemple, vous pouvez avoir une machine virtuelle installée pour la 1èregénération et une machine virtuelle pour la 2ème génération. En procédant de cette manière, les paquetages qui utilisent la 1ère génération et la 2ème génération peuvent coexister le temps que nous migrons vers la nouvelle génération.
1ère génération
Cette génération comprend les « eclasses » existantes (java-pkg, java-utils et java) et java-config. La 1ère génération est le système qui va disparaître.
2ème génération
Cette génération comprend les nouvelles « eclasses » (java-pkg-2, java-pkg-opt-2, java-ant-2 et java-utils-2) et la nouvelle version de java-config. C'est la génération vers laquelle nous migrons.
Machine virtuelle de la 1ère génération
C'est la machine virtuelle qui est utilisée pour installer les paquetages Java en utilisant les « eclasses » de la 1ère génération. Pour la sélectionner, on utilise la commande suivante : java-config-1 --set-system-vm <machine virtuelle choisie>.
2ème génération de la machine virtuelle
Avec la 2ème génération, la machine virtuelle est seulement utilisée par l'utilisateur « root » et par les utilisateurs qui n'ont pas encore choisi leur machine virtuelle.
La machine virtuelle installée de la 2ème génération
La 2ème génération introduit une nouvelle classe de machine virtuelle. La machine virtuelle installée est utilisée au moment de l'installation (avec la commande emerge des paquetages Java. Elle est modifiée si nécessaire suivant le paquetage à installer. Par exemple, si un paquetage ne peut se compiler qu'avec une version 1.4, la machine virtuelle en version 1.4 sera alors utilisée. Les paramètres par défaut sont définis dans /usr/share/java-config-2/config/jdk-defaults.conf. De plus, la machine virtuelle installée peut être configurée grâce au fichier /etc/java-config-2/build/jdk.conf.

2.  Mettre à jour java-config

Un nouveau paquetage, java-config-wrapper est bloqué par les anciennes versions de java-config donc nous devons commencer par le(s) désinstaller :

Exemple de code 2.1 : Désinstaller le ou les anciens java-config

# emerge -C java-config

Maintenant, nous pouvons installer les nouvelles versions de java-config :

Exemple de code 2.2 : Installer le nouveau java-config

# emerge -1 java-config:0 java-config:2

3.  Vérifier votre environnement

Nous fournissions maintenant un nouveau script : java-check-environment. Il s'agit, comme son nom l'indique, d'un script permettant de vérifier la « santé » de l'environnement Java de votre système. Il vous suggère des solutions pour corriger les problèmes trouvés. Alors, dès à présent, lancez :

Exemple de code 3.1 : Vérifiez votre environnement

# java-check-environment

Si java-check-environment rencontre un problème, il s'arrête et vous dit ce qu'il en est et comment corriger le problème. Suivez le conseil donné puis relancez java-check-environment autant de fois que nécessaire jusqu'à ce qu'il ne trouve plus aucun problème.

4.  Mise à jour... terminée !

Si vous êtes arrivé ici, c'est que vous avez réussi votre mise à jour vers le nouveau système Java. Félicitations !

Maintenant que vous avez fait la mise à jour, vous souhaiterez peut-être à présent consulter notre documentation mise à jour :

5.  Solutions et questions courantes

Pour aborder les problèmes rencontrés lors de la mise à jour, l'équipe Java a mis en place une page wiki ici. Avant de chercher de l'aide ou de signaler des problèmes, nous vous remercions de vous référer tout d'abord à cette page.



Imprimer

Dernière mise à jour le 25 août 2008

Résumé : Ce guide vous explique comment mettre à jour Java vers la nouvelle génération de Java sur Gentoo, avec ses concepts et ses outils.

Joshua Nichols
Auteur

Karl Trygve Kalleberg
Auteur

Josh Saddler
Rédacteur

Christophe Lefebvre
Traducteur

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.