Pour Java applications c'est-à-dire des programmes qui sont livrés (généralement) sous forme de .jar
et commencé avec java -jar xxx.jar
ou par l'intermédiaire d'un raccourci qui fait de même, le JRE qui sera lancé sera le premier trouvé sur le disque dur de l'ordinateur. PATH
.
Si vous avez installé un JRE ou un JDK, les endroits probables pour trouver le fichier .exe
se trouvent sous des répertoires comme C:\Program Files\JavaSoft\JRE\x.y.z
. Cependant, j'ai constaté que certaines installations Windows "prêtes à l'emploi" possèdent (également ?) des copies de l'adresse suivante java.exe
et javaw.exe
sur C:\winnt\system32
(NT et 2000) ou C:\windows\system
(Windows 95, 98). Il s'agit généralement d'une version assez ancienne de Java : 1.3, peut-être ? Vous voudrez faire java -version
dans une fenêtre de commande pour vérifier que vous n'utilisez pas une version obsolète de Java.
Vous pouvez bien sûr passer outre le paramètre PATH ou même vous en passer en indiquant explicitement le chemin d'accès à java.exe / javaw.exe dans votre ligne de commande ou dans la définition du raccourci.
Si vous êtes en train de courir applets du navigateur, ou éventuellement aussi Applications Java Web Start (ils ressemblent à des applications dans la mesure où ils ont leur propre fenêtre, mais vous les démarrez à partir du navigateur), le choix du JRE est déterminé par un ensemble de paramètres de registre :
Key: HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment
Name: CurrentVersion
Value: (e.g.) 1.3
Plus de clés de registre sont créées en utilisant ce schéma :
(e.g.)
HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\1.3
HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\1.3.1
c'est-à-dire un pour le numéro de version majeur et un autre incluant le numéro de version mineur. Chacune de ces clés a des valeurs comme celles-ci (exemples illustrés) :
JavaHome : C:\program Files\JavaSoft\JRE\1.3.1
RuntimeLib : C:\Program Files\JavaSoft\JRE\1.3.1\bin\hotspot\jvm.dll
MicroVersion: 1
... et votre navigateur se basera sur ces paramètres pour déterminer le JRE à lancer.
Comme les versions de Java changent assez fréquemment, il existe désormais un "assistant" appelé "Panneau de configuration Java" qui permet de changer manuellement la version de Java de votre navigateur. Cela fonctionne pour IE, Firefox et probablement d'autres comme Opera et Chrome également : Il s'agit de l'applet "Java" de Windows. System Settings
app. Vous pouvez choisir n'importe lequel des JREs installés. Je crois que l'assistant modifie ces entrées de registre.
Si vous êtes comme moi et que vous avez "désinstallé" d'anciennes versions de Java en effaçant simplement des répertoires, vous trouverez également ces "fantômes" parmi les choix proposés ; assurez-vous donc que le JRE que vous choisissez correspond à une installation Java intacte !
D'autres réponses recommandent de fixer le environnement variable JAVA_HOME
. Ce conseil est entre-temps dépassé. Sun s'est rendu compte, vers Java 2, que ce paramètre d'environnement est un facteur important dans le processus de développement.
- peu fiable, car les utilisateurs le règlent souvent de manière incorrecte, et
- inutile, car il est assez facile pour le runtime de trouver les répertoires des bibliothèques Java, sachant qu'ils sont dans un chemin fixe relatif au chemin à partir duquel java.exe ou javaw.exe a été lancé.
Il n'y a pratiquement plus aucun logiciel Java moderne qui nécessite ou respecte la méthode JAVA_HOME
variable d'environnement.
Plus d'informations :
...et quelques informations utiles sur le support multi-version :