Comment modifier la version de Java Runtime sous Windows?.
J'ai installé Java 7 pour certains tests et maintenant, j'ai besoin de l'ancien Java6 comme système par défaut, mais je ne souhaite pas désinstaller Java 7 (j'en ai besoin pour des tests ultérieurs). Puis-je modifier le fichier JRE utilisé par le système dans l'onglet Panneau de configuration/Java/JRE? Je peux changer/éditer/ajouter/supprimer la version utilisée par l'utilisateur, mais pas celle utilisée par le système.
Pour Java applications, c’est-à-dire les programmes livrés (généralement) sous forme de fichiers .jar
et démarrés avec Java -jar xxx.jar
ou via un raccourci identique, le JRE qui sera lancé sera le premier trouvé sur PATH
.
Si vous avez installé un JRE ou un JDK, les emplacements susceptibles de trouver le .exe
s sont situés sous les répertoires tels que C:\Program Files\JavaSoft\JRE\x.y.z
. Cependant, j'ai trouvé des installations Windows "prêtes à l'emploi" disposant (également?) De copies de Java.exe
et javaw.exe
dans C:\winnt\system32
(NT et 2000) ou C:\windows\system
(Windows 95, 98). Ceci est généralement 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'exécutez pas une version obsolète de Java.
Vous pouvez bien sûr remplacer le paramètre PATH ou même vous en passer sans indiquer explicitement le chemin d'accès à Java.exe/javaw.exe dans la définition de votre ligne de commande ou de votre raccourci.
Si vous exécutez applets à partir du navigateur, ou éventuellement aussi applications Java Web Start (elles ressemblent à des applications dans la mesure où elles ont leur propre fenêtre, mais que vous les démarrez à partir du navigateur), le choix de 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 une pour la majeure et une avec le numéro de version mineure. 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 utilisera ces paramètres pour déterminer le JRE à lancer.
Comme les versions de Java changent assez fréquemment, il existe maintenant un "assistant" appelé "Panneau de configuration Java" permettant de changer manuellement la version Java de votre navigateur. Cela fonctionne également pour IE, Firefox et probablement d’autres comme Opera et Chrome: c’est l’applet 'Java' dans l’application System Settings
de Windows. Vous devez choisir l’un des JRE installés. Je crois que cet assistant manipule ces entrées de registre.
Si vous êtes comme moi et que vous avez "désinstallé" les anciennes versions de Java en effaçant simplement les répertoires, vous trouverez également ces "fantômes" parmi les choix possibles; Assurez-vous donc que le JRE que vous choisissez correspond à une installation Java intacte!
Certaines autres réponses recommandent de définir la variable environnementJava_HOME
. Ce sont entre-temps des conseils obsolètes. Sun s'est rendu compte, autour de Java 2, que ce paramètre d'environnement est
Il ne reste pratiquement plus aucun logiciel Java moderne qui ait besoin ou respecte la variable d'environnement Java_HOME
.
Plus d'information:
... et quelques informations utiles sur le support multi-version:
J'avais l'habitude de travailler sur des machines de type UNIX, mais récemment, j'ai dû travailler avec Java sur une machine Windows 7. J'ai eu ce problème et c'est la que je l'ai résolu. Cela a bien fonctionné pour moi et j'espère qu'il pourra être utilisé par quiconque aura ce problème à l'avenir.
Ces étapes sont exposées en considérant une installation Java par défaut sur le lecteur C. Vous devez changer ce qui est nécessaire si votre installation n’est pas une installation par défaut.
Supposons que nous ayons installé Java 8 mais que, quelle que soit la raison, nous souhaitons conserver Java 7.
1- Démarrer une cmd en tant qu'administrateur
2- Aller au C:\ProgramData\Oracle\Java
3- Renommez le répertoire en cours javapath en javapath_ <version_it_refers_to> . Exemple: rename javapath javapath_1.8
4- Créez un répertoire javapath_ <version_you_want_by_default> . Exemple: mkdir javapath_1.7
5- cd dedans et créez les liens suivants:
cd javapath_1.7
mklink Java.exe "C:\Program Files\Java\jre7\bin\Java.exe"
mklink javaw.exe "C:\Program Files\Java\jre7\bin\javaw.exe"
mklink javaws.exe "C:\Program Files\Java\jre7\bin\javaws.exe"
6- Cd out et créer un répertoire link javapath pointant vers le javapath souhaité. Exemple: mklink /D javapath javapath_1.7
7- Ouvrez le registre et changez la clé HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Environnement d'exécution Java\CurrentVersion pour avoir la valeur 1.7
À ce stade, si vous exécutez Java -version
, vous devriez voir que vous utilisez Java version 1.7:
Java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)
8- Finalement, c'est une bonne idée de créer la variable d'environnement Java_HOME. Pour ce faire, je crée un lien de répertoire nommé CurrentVersion dans C:\Program Files\Java et pointant vers la version de Java qui m'intéresse.
cd C:\Program Files\Java\
mklink /D CurrentVersion .\jdk1.7.0_71
9- Et une fois que cela est fait:
Depuis Java 1.6, un fichier Java.exe est installé dans% windir%\system32 qui prend en charge une option de ligne de commande "-version". Vous pouvez l’utiliser pour sélectionner une version spécifique à exécuter, par exemple:
Java -version:1.7 -jar [path to jar file]
exécutera une application jar dans Java 1.7, si elle est installée.
Voir la documentation Oracle ici: http://docs.Oracle.com/javase/6/docs/technotes/tools/windows/Java.html
Une fois que j'ai mis à jour ma version Java à 8 comme suggéré par le navigateur. Cependant, j'avais choisi de désinstaller la version précédente de Java 6, qui avait été utilisée pour coder mes projets. Lorsque j'entre la commande dans "Java -version" dans cmd , il indique 1,8 et je ne parviens pas à démarrer Eclipse IDE sous Java 1.6.
Lors de l’installation de la mise à jour Java 8 pour le navigateur, la variable système "PATH" avait été ajoutée en ajoutant "C:\ProgramData\Oracle\Java\javapath" au début. Le chemin nouvellement ajouté pointe vers la version 8 de Java. J'ai donc supprimé ce chemin de la variable système "PATH" et tout a bien fonctionné. :)
Accédez au panneau de configuration -> JavaVous pouvez sélectionner la version active ici.
Il vous suffit de définir la variable d'environnement PATH dans Windows pour qu'elle pointe vers votre répertoire bin Java6 au lieu du répertoire Java7.
Cliquez avec le bouton droit sur Poste de travail> Paramètres système avancés> Avancé> Variables d'environnement.
S'il existe une variable d'environnement Java_HOME, définissez cette option pour pointer également vers le bon répertoire.
Si vous utilisez Windows 10 ou Windows Server 2012, procédez comme suit pour modifier la version de l'environnement d'exécution Java:
Mettez à jour vos variables d'environnement
Assurez-vous que la référence à Java/bin est à jour dans 'Chemin'; Cela peut être automatique si vous avez Java_HOME ou un ensemble équivalent. Si Java_HOME est défini, mettez-le simplement à jour pour faire référence à l'ancienne installation de JRE.