Comment persuader Windows d'utiliser le JDK au lieu d'un JRE?
Cette question a été posée avant, ici et ailleurs:
Comment définir l'installation / l'exécution par défaut de Java (Windows)?
Le problème est que Windows ignore JAVA_HOME
et ignore également le fait que j'ai fait du répertoire bin JDK la première entrée du chemin.
Lorsque je lance à java -version
partir de la ligne de commande, au lieu d'appeler mon installation JDK 1.6, il exécute le 1.7 JRE.
Je suppose que c'est un problème spécifique à 1.7 et que Windows 7 fait quelque chose qu'il ne devrait pas faire avec le registre.
Des idées pour résoudre le problème?
Edit : Oups. J'ai écrit "première entrée dans le classpath" ci-dessus, alors que je voulais dire "chemin". Pardon.
%JAVA_HOME%\bin
en première position depath
variable sur Windows 10 et travaille pour moi.Dans Windows 8, vous souhaiterez peut-être supprimer le
C:\ProgramData\Oracle\Java\javapath
répertoire.du chemin
Cela a résolu mon problème.
la source
J'ai ce problème aussi. J'utilise la version 1.6 mais je souhaite créer le code sur lequel je travaille avec la version 1.5. J'ai changé le
JAVA_HOME
etPATH
(utilisateur et système) en vain.La réponse est que le programme d' installation de 1,6 a chuté
java.exe
,javaw.exe
etjavaws.exe
dans monWindows\System32
dossier (Windows 7).Je l' ai résolu en renommant les fichiers
java_wrong.exe
,javaw_wrong.exe
etjavaws_wrong.exe
. Ce n'est qu'après avoir fait cela qu'il récupère la version correcte de java telle que définie dansJAVA_HOME
etPATH
. J'ai renommé les fichiers ainsi parce que cela les a supprimés d'une manière facilement réversible.J'espère que cela t'aides!
la source
Windows n'ignore rien. C'est un problème avec votre configuration; Windows utilise simplement ce que vous fournissez. Il n'a aucune connaissance particulière de
JAVA_HOME
.CLASSPATH
n'a rien à voir avec Windows non plus. Pour Windows, ce n'est qu'une variable d'environnement qui est étendue à un emplacement de dossier.Vérifiez votre
%PATH%
variable environnementale. C'est ce qui fait que Windows trouve l'un avant l'autre. Le chemin (comme l'a dit le post auquel vous avez lié) doit pointer%JAVA_HOME%\bin;<remainder of path>
. Encore une fois, la publication que vous avez liée vous a donné un moyen de définir cela à l'aide d'un fichier de commandes.(Pour ceux qui ne le savent peut-être pas: le moyen le plus simple d'inspecter le% PATH% consiste à ouvrir une invite de commande et à taper
echo %PATH%
. Vous pouvez également y accéder en cliquant avec le bouton droit surComputer
dans le volet droit du menu Démarrer et en choisissantProperties
, puisAdvanced System Settings
, et leEnvironmental Variables
bouton tne .)la source
JAVA_HOME
que Windows.JAVA_HOME
doit être défini sur la racine de l'installation java. Le chemin devrait avoir%JAVA_HOME%\bin;<remainder of path%gt;
, sinon vous finirez par ne pas "trouver" java, javac, etc. Bien sûr, Windows ne regarde vraiment que laPATH
variable, mais certains outils liés à java le regardent à l'JAVA_HOME
occasion.\bin
également. Merci.J'ai eu le même problème. J'ai un tas de versions de Java installées et pour une raison quelconque, Java 1.7 était utilisé à la place de Java 1.6, même si j'ai spécifié dans le chemin pour utiliser 1.6 (C: \ jdk1.6.0_45_32 \ bin).
J'ai dû déplacer le chemin du JDK que je voulais utiliser (1.6) pour être la première entrée dans la variable d'environnement PATH pour m'assurer que Windows utilise 1.6 au lieu de 1.7.
Ainsi, par exemple, la variable d'environnement PATH avant était:
C:\Program Files (x86);...<other entries>;C:\dev\ant181\bin;C:\jdk1.6.0_45_32\bin
et après avoir déplacé le jdk pour être le premier, cela a fonctionné:
C:\jdk1.6.0_45_32\bin;C:\Program Files (x86);...<other entries>;C:\dev\ant181\bin
Je suppose que l'installateur Windows de Java 1.7 l'a installé dans un autre répertoire déjà dans le PATH, s'utilisant ainsi en premier au lieu de l'entrée PATH personnalisée spécifiée C: \ jdk1.6.0_45_32 \ bin;
la source
Pour mon cas en
'Path'
variable, un paramètre a été ajouté comme «C:\ProgramData\Oracle\Java\javapath;
». Cet emplacement avaitjava.exe
,javaw.exe
etjavaws.exe
de java 8 qui est nouvellement installé viajdk.exe
Oracle.J'ai supprimé ce texte du chemin où mon chemin le contenait déjà
%JAVA_HOME%\bin
.Maintenant, la variable
'JAVA_HOME'
contrôle ma version Java que je voulais.la source
Supposons que vous ayez installé JDK 10 après JDK 8 et dans le chemin de jeu de variables d'environnement système comme "C: \ ProgramData \ Oracle \ Java \ javapath" puis le contrôle de version Java par ce chemin. il ignorera JAVA_HOME même le chemin jdk 1.8 défini ici. Supprimez donc "C: \ ProgramData \ Oracle \ Java \ javapath" dans le chemin pour obtenir l'effet du chemin JAVA_HOME
la source
J'ai installé Java 7 et 8 et je veux rediriger vers java 7 mais la version java dans ma fenêtre d'invite cmd montre Java 8.
Ajout du chemin du répertoire de Java 7 bin ( C: \ Program Files \ Java \ jdk1.7.0_10 \ bin ) à la variable PATH à la fin, mais n'a pas fonctionné et montre Java 8. J'ai donc changé le chemin Java 7 au début de la valeur du chemin et cela a fonctionné.
J'ai ouvert une nouvelle fenêtre d'invite cmd et vérifié ma version java et maintenant il montre Java 7
la source
Définissez la variable d'environnement Path sur le répertoire jdk / bin souhaité
la source
Dans mon cas, j'ai installé Java 7 et 8 (tous deux x64) et je souhaite rediriger vers java 7 mais tout est configuré pour utiliser Java 8. Java utilise la variable d'environnement PATH:
comme première option pour rechercher son dossier d'exécution (est un dossier caché). Ce chemin contient 3 liens symboliques qui ne peuvent pas être modifiés.
Dans mon PC, la variable d'environnement PATH ressemble à ceci:
Dans mon cas, cela devrait ressembler à ceci:
J'ai dû couper et coller les liens symboliques ailleurs pour que java ne puisse pas les trouver, et je peux les restaurer plus tard.
Après avoir défini les variables d'environnement JAVA_HOME et JRE_HOME sur les environnements d'exécution des dossiers java souhaités (dans mon cas, il s'agit de Java 7), la commande
java -version
devrait afficher votre environnement d' exécution Java souhaité. Je remarque qu'il n'est pas nécessaire de jouer avec le registre.Testé sur Win7 x64.
la source
Ce problème est probablement dû aux versions antérieures de Java installées sur votre système. Vérifiez d'abord attentivement vos variables d'environnement et supprimez toutes les variables d'environnement liées aux versions précédentes de JAVA et remplacez
C:\Program Files\Java\<your new jdk version>\bin
la source
Il y a un facteur supplémentaire ici; en plus des exécutables java que l'installation java place partout où vous lui demandez de les placer, sur windows, le programme d'installation java place également des copies de certains de ces exécutables dans votre répertoire windows system32, donc vous utiliserez probablement quel exécutable java était installé le plus récemment.
la source
Juste au cas où vous utilisez un fichier .BAT comme service Windows, je vous suggère de désinstaller le service Windows et de le réinstaller après avoir changé le% JAVA_HOME% pour qu'il pointe vers la bonne version de Java.
la source
Après avoir lutté avec ce problème pendant un certain temps et fait des recherches à ce sujet, j'ai finalement réussi à le résoudre en suivant ces étapes:
1) installez la version 12 de jdk
2) Créez une nouvelle variable dans la variable système
3) Nommez-la JAVA_HOME et indiquez le chemin d'installation de jdk
4) ajoutez cette variable dans le chemin et déplacez-la vers le haut.
5) allez dans C: \ Program Files (86) \ Common Files \ Oracle \ Java \ javapath et remplacez java.exe et javaw.exe par les fichiers correspondants avec les mêmes noms du dossier pathtojavajdk / bin
Enfin, j'ai vérifié la version par défaut de java dans cmd avec "java -version" et cela a fonctionné!
la source