Basculer entre Java 32 bits et Java 64 bits
Je viens de découvrir qu'Apache Tomcat ne peut pas s'exécuter en tant que service Windows si j'utilise un JDK 64 bits. Par conséquent, j'ai également installé Java 32 bits sur mes Fenêtres.
La question est quand j'ai vérifié la version java en utilisant java-version, cela montre toujours que 64 bits est toujours en cours d'exécution. Comment passez-vous de 64 bits à 32 bits? Il serait également agréable d'avoir la possibilité de revenir à 64 bits plus tard.
3 answers
La question est quand j'ai vérifié la version java en utilisant java-version, cela montre toujours que 64 bits est toujours en cours d'exécution.
Ce n'est pas strictement vrai. Il n'y a pas de copie de Java encore / déjà en cours d'exécution. (Ou s'il y en a, vous ne parlez pas à it lorsque vous exécutez java -version
.)
Ce que ce montre en fait, c'est que votre shell de commande exécute un Java 64 bits lorsque vous lui avez donné le nom de commande java
. Et la raison en est que la variable %PATH% du shell est révélatrice la coquille de regarder dans le répertoire contenant la version 64 bits, plutôt que la version 32 bits; c'est à dire que vous ne l'avez pas changé!
Ce que vous devez faire est de changer les variables d'environnement %PATH% et %JAVA_HOME% du shell pour pointer vers le bon endroit. Le % JAVA_HOME % doit pointer vers le répertoire d'installation et la variable% PATH %doit inclure%JAVA_HOME % \bin.
Vous devez définir la variable d'environnement JAVA_HOME
sur le chemin de la version JDK que vous souhaitez utiliser.
Pour 2000 / XP voir: http://confluence.atlassian.com/display/DOC/Setting+le + JAVA_HOME + Variable + dans + Windows
Pour Windows 7 voir: http://www.itechtalk.com/thread3595.html (ce n'est pas un tutoriel pour définir la variable JAVA_HOME
, mais une variable d'environnement générique: adaptez-vous à vos besoins.)
Si vous souhaitez modifier la version Java que vous voyez lors de l'exécution java -version
sur la ligne de commande, vous devez alors changer la variable d'environnement PATH
afin qu'elle contienne un chemin vers le répertoire bin
du JDK que vous souhaitez utiliser. Voir: http://www.java.com/en/download/help/path.xml
N'oubliez pas de fermer le shell de commande et de le rouvrir après avoir modifié la variable PATH
.
J'ai trouvé que sous Windows 7, je devais modifier le chemin JAVA_HOME
dans les entrées de registre à plusieurs endroits afin de complètement basculer vers un chemin différent pour une autre installation java. Changer JAVA_HOME
dans les variables d'environnement ne suffit pas. Vous pouvez faire un test rapide vous-même:
- Renommez votre répertoire personnel Java.
- Mettez à jour la valeur de votre variable d'environnement
%JAVA_HOME%
pour refléter nouveau nom de votreJAVA_HOME
. - Exécuter
java -version
dans une nouvelle commande fenêtre.
, Vous obtiendrez un message d'erreur disant:
Error: could not open `C:\your_java_home_path\jre7\lib\amd64\jvm.cfg'
Par conséquent, ce n'est pas le même comportement que sur Linux où il suffit de changer $JAVA_HOME
pour changer votre pointeur vers un nouveau répertoire d'installation de votre java.
On dirait que Windows code en dur le chemin d'accès java dans son registre à plusieurs endroits.
Start --> Run --> regedit
Sous HKEY_LOCAL_MACHINE / SOFTWARE / JavaSoft / ...
développez chaque répertoire et modifiez chaque chemin d'accès java que vous trouvez codé en dur dans votre nouveau JAVA_HOME
chemin dans chaque registre où il produire.