lundi 18 février 2013

Changer de version Java sous Windows 7

En tant que développeur Java, il est souvent nécessaire de changer de version Java pour différents projets : Certaines applications ne supportant que Java  7, d'autre étant encore strictement Java 6 ou 5.

La méthode classique est d'avoir plusieurs répertoires d'installation de Java pour chaque version et de changer soit :

  • les paramètres d'appel de l'application. Par exemple préciser dans eclipse.ini le chemin du jdk à utiliser,
  • la variable d'environnement %Path% pour pointer vers la bonne version.
Cependant, j'ai eu quelques difficultés avec mon nouveau PC sous Windows 7 : En effet, après avoir installé Java 7, même en changeant la variable %Path%, java -version continuait à me fournir Java 7.

La raison est la suivante : L'installateur Java 7 créé une copie de java.exe et javaw.exe sous C:\Windows\System32, or ce répertoire est avant celui de Java 6 dans mon Path.

C'est, à mon avis, une très mauvaise pratique de la part d'Orcale de fournir un installateur de JDK, dédié au développement, qui se comporte de cette façon !

Les solutions sont donc :
  • Supprimer ou renommer java.exe et javaw.exe de System32 (ce que j'ai fait)
  • Mettre le répertoire de Java avant System32 dans le Path
Noter qu'il existe aussi dans le "Panneau de configuration" Windows un "Java Control Panel" qui donne accès à des clé dans la base de registre, notamment pour les applets et pour Java Web Start. Je n'ai pas réussi à la faire fonctionner correctement... Encore une pollution Oracle lors de l'installation ! Grrrrrr...

EDIT :
Le problème de Java Control Panel qui ne sauve pas la configuration semble être un problème de droit : Il doit est exécuté avec le droit Admin, voir : Can't seem to disable Java Automatic Update
L’astuce est d'exécuter javacpl.exe en administrateur (chercher javacpl.exe dans /jre/bin de l'installation du jdk/jre, clic-droit exécuter en tant qu'administrateur).


Aucun commentaire:

Enregistrer un commentaire