Guide de mise à jour Java pour Gentoo
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.
Ce document est protégé par la licence Creative
Commons : Paternité - Partage des Conditions Initiales à
l'Identique 2.5.
|