web-dev-qa-db-fra.com

Comment modifier la version de Java Runtime sous Windows (7)?

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.

57
tomkpunkt

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 .exes 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 

  1. peu fiable, car les utilisateurs le configurent souvent de manière incorrecte, et 
  2. inutile, car il est assez facile pour le moteur d'exécution de trouver les répertoires de la bibliothèque Java, sachant qu'ils se trouvent dans un chemin fixe par rapport au chemin à partir duquel Java.exe ou javaw.exe a été lancé. 

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:

74
Carl Smotricz

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.

Changer la valeur par défaut de Java VM sous Windows 7

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:

  • Cliquez avec le bouton droit sur Poste de travail et sélectionnez Propriétés.
  • Sous l'onglet Avancé, sélectionnez Variables d'environnement, puis modifiez/créez Java_HOME pour indiquer l'emplacement du logiciel JDK. Dans ce cas, C:\Program Files\Java\CurrentVersion.
58
Mia

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

25
Jules

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é. :)

6
Asanka Siriwardena

Accédez au panneau de configuration -> JavaVous pouvez sélectionner la version active ici.

4
Shazia Tabassum

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.

3
David Young

Si vous utilisez Windows 10 ou Windows Server 2012, procédez comme suit pour modifier la version de l'environnement d'exécution Java:

  1. Ouvrez regedit en utilisant 'Run'
  2. Accédez à HKEY_LOCAL_MACHINE -> LOGICIEL -> JavaSoft -> Java Runtime Environment
  3. Ici, vous verrez toutes les versions de Java que vous avez installées sur votre PC. Pour moi, plusieurs versions de Java 1.8 sont installées. Le dossier affiché ici est 1.8, 1.8.0_162 et 1.8.0_171.
  4. Cliquez sur le dossier '1.8', puis double-cliquez sur les clés JavaHome et RuntimeLib. Modifiez le numéro de version à l'intérieur de la version Java sur laquelle vous souhaitez que votre PC soit exécuté. Par exemple, si les données de la clé sont "C:\Program Files\Java\jre1.8.0_171", vous pouvez le remplacer par "C:\Program Files\Java\jre1.8.0_162".
  5. Vous pouvez ensuite vérifier le changement de version en tapant "Java -version" sur la ligne de commande.
0
Harvey Lin

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.

0
Syntax