61 votes

Comment puis-je changer la version d'exécution de Java sous Windows (7) ?

Comment puis-je changer la version d'exécution de Java sur 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 veux pas désinstaller le Java 7 (j'en ai besoin pour des tests ultérieurs). Puis-je changer le système utilisé JRE dans l'onglet Panneau de configuration/Java/JRE ? Je peux modifier/modifier/ajouter/supprimer la version utilisée par l'utilisateur, mais pas celle utilisée par le système.

76voto

Carl Smotricz Points 36400

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.

  1. peu fiable, car les utilisateurs le règlent souvent de manière incorrecte, et
  2. 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 :

5 votes

L'assistant Java7 par défaut installe aussi java.exe, javaw.exe et javaws.exe dans C:\Windows\System32\ sur Windows 7. Ce n'est pas un problème d'héritage. Excellente réponse en tout cas !

0 votes

Si vous mettez à jour votre version de Java, il se peut que vous utilisiez encore l'ancienne version si elle figure dans la variable d'environnement PATH.

0 votes

@LucasHoepner - les versions plus récentes de java installent un stub vers c : \windows\system32 qui scanne le système pour identifier la dernière version installée de Java et l'invoquer. Il n'y a pas de problème à ce qu'ils invoquent une version obsolète par défaut à cause de cette copie.

25voto

Jules Points 5015

Depuis Java 1.6, un java.exe est installé dans %windir%. \system32 qui supporte 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 en java 1.7, si celui-ci est installé.

Voir la documentation d'Oracle ici : http://docs.oracle.com/javase/6/docs/technotes/tools/Windows/java.html

4voto

Shazia Tabassum Points 21

Allez dans le panneau de configuration --> Java Vous pouvez sélectionner la version active ici

7 votes

Cela n'a aucun effet avec Java 7, le JRE public en C:\Program Files sera toujours utilisé à la place du chemin que vous avez spécifié.

0 votes

Il est préférable de modifier la variable PATH si elle est écrasée par une autre installation de java.

3voto

David Young Points 1586

Il vous suffit de définir la variable d'environnement PATH de Windows pour qu'elle pointe vers le répertoire bin de java6 au lieu du répertoire java7.

Cliquez à droite sur Poste de travail > Paramètres système avancés > Avancés > Variables d'environnement

S'il existe une variable d'environnement JAVA_HOME, définissez-la également pour qu'elle pointe vers le bon répertoire.

0voto

Syntax Points 791

Mettez à jour vos variables d'environnement

Assurez-vous que la référence à java/bin est à jour dans 'Path' ; Cela peut être automatique si vous avez défini JAVA_HOME ou équivalent. Si JAVA_HOME est défini, il suffit de le mettre à jour pour faire référence à l'ancienne installation de JRE.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X