98 votes

Windows ignore JAVA_HOME: comment définir JDK par défaut?

Comment puis-je persuader à Windows d'utiliser le JDK au lieu d'un JRE?

Cette question a été posée avant, d'ici et d'ailleurs:

Comment puis-je définir la valeur par défaut de Java installation/exécution (Windows)?

Le problème est que Windows ignore JAVA_HOME et il ignore aussi le fait que j'ai fait le JDK répertoire bin de la première entrée dans le chemin.

Quand je lance version de java à partir de la ligne de commande, au lieu d'invoquer mon JDK 1.6 installation, il fonctionne de la JRE 1.7.

Ma conjecture est que c'est un problème spécifique à 1,7, et Windows 7 est en train de faire quelque chose qu'il ne devrait pas avec le registre.

Toutes les idées sur la façon de résoudre ce problème?

Edit: Oups. J'ai écrit "première entrée dans le classpath" ci-dessus, quand je voulais dire "chemin d'accès". Désolé.

138voto

erickson Points 127945

Sur Windows, l' java exécutable utilise le Registre de Windows pour localiser le défaut de la version de Java à exécuter.

La copie de l' java.exe à exécuter est trouvé en utilisant l' PATH variable d'environnement. Sauf si vous prenez des mesures pour changer cela, par défaut, une copie se trouve dans le répertoire Windows. Depuis cette copie n'est pas dans un environnement d'exécution Java répertoire, il en détecte un en regardant le registre.

Donc, vous devez modifier le registre, ou de mettre la version de Java que vous voulez avant de le répertoire Windows dans votre PATH.

26voto

Inversus Points 314

J'ai ce problème aussi. Je suis en cours d'exécution 1.6 mais souhaitez générer le code, je travaille avec la version 1.5. J'ai changé le JAVA_HOME et PATH (utilisateur et système) en vain.

La réponse est que le programme d'installation pour 1,6 abandonné java.exe, javaw.exe et javaws.exe dans mon dossier Windows/System32 (Windows 7).

Je l'ai résolu en renommant les fichiers de java_wrong.exe, javaw_wrong.exe et javaws_wrong.exe. Seulement après avoir fait cela fait-il de sélectionner la bonne version de java, comme défini dans JAVA_HOME et PATH.

Espérons que cette aide!

13voto

Ken White Points 73213

Windows ne l'ignore pas, quoi que ce soit. C'est un problème avec votre installation, Windows utilise juste ce que vous fournissez. Il n'a pas de connaissances spéciales en JAVA_HOME.

CLASSPATH n'a rien à voir avec Windows, soit. Pour Windows, c'est seulement une variable d'environnement qui obtient élargi à un emplacement de dossier.

Vérifiez votre %PATH% variable d'environnement. C'est ce que fait Windows en trouver un avant l'autre. Le chemin d'accès (comme le post que vous avez lié à dit) doivent pointer vers l' %JAVA_HOME%\bin;<remainder of path>. Encore une fois, le poste est lié à vous a donné un moyen de régler cela à l'aide d'un fichier de commandes.

(Pour ceux qui pourraient ne pas savoir ceci: le moyen Le plus facile pour inspecter la variable %PATH% est d'ouvrir une invite de commande et tapez echo %PATH%. Vous pouvez également y accéder par un clic droit sur Computer dans le volet droit du Menu Démarrer et en sélectionnant Properties, alors Advanced System Settings, et les tne Environmental Variables bouton.)

2voto

David Levin Points 314

Définissez la variable d’environnement Path sur votre répertoire jdk / bin souhaité.

0voto

Ben Brammer Points 771

Il y a un facteur supplémentaire ici; en plus des exécutables java que l'installation java place partout où vous le demandez, sous Windows, le programme d'installation java place également des copies de certains de ces exécutables dans votre répertoire windows system32, de sorte que vous utiliserez probablement chacun de ces exécutables java. installé le plus récemment.

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