Comment puis-je définir la valeur par défaut de Java installation/exécution (Windows)?
Je suis dans la situation où j'ai installé le JDK, mais je ne peux pas exécuter les applets dans les navigateurs (je ne peut pas avoir installé le JRE).
Cependant, lorsque j'installe le JRE, il clobbers mon JDK que le défaut d'exécution. Cela casse un peu tout (Eclipse, Ant) - car ils exigent un serveur JVM.
Il n'y a pas JAVA_HOME
variable d'environnement ces jours - ci- il semble juste d'utiliser certains de registre de la magie (paramètre le chemin d'accès du système est d'aucune utilité non plus). Auparavant, j'ai juste désinstallé le JRE après je l'ai utilisé pour restaurer le JDK. Cette fois, je veux le fixer correctement.
Cela se manifeste aussi avec le jre autoupdater - une fois, j'ai eu une configuration de travail avec le JDK et JRE, mais il mis à jour et le buste de tout.
- Curieux, je viens tout juste de la "Fameuse Question" badge pour cette question, et c'est seulement reçu 5 upvotes? Est-ce parce que: A) ce n'est pas une bonne question; B) les personnes accidentellement le trouver lors de la recherche de quelque chose d'autre; C) C'est vraiment populaire avec les interwebs en général (DONC non-utilisateurs); ou D) (comme toujours) "autre chose"
Vous devez vous connecter pour publier un commentaire.
C'est un peu de douleur sur Windows. Voici ce que je fais.
Installez la dernière version de Sun JDK, par exemple 6u11, en chemin comme
c:\install\jdk\sun\6u11
, puis laisser le programme d'installation installer JRE public à l'endroit par défaut (c:\program files\blah
). Cela va de l'installation par défaut de votre JRE pour la majorité des choses.Installer ancienne Jdk tant que de besoin, comme 5u18 dans
c:\install\jdk\sun\5u18
, mais n'installez pas le public Jre.Lorsque dans le développement, j'ai un petit fichier batch que j'utilise pour l'installation d'une invite de commande pour chaque version du JDK. Essentiellement à définir
JAVA_HOME=c:\jdk\sun\JDK_DESIRED
et puis définissezPATH=%JAVA_HOME%\bin;%PATH%
. Cela mettra l'souhaité JDK premier dans le chemin d'accès et secondaire des outils comme Ant ou Maven pouvez utiliser leJAVA_HOME
variable.Le chemin est important parce que la plupart des JRE public s'installe mettre un exécutable lié à
c:\WINDOWS\System32\java.exe
, qui habituellement remplace la plupart des autres paramètres.Je l'ai patché le comportement de mon eclipse de démarrage raccourci dans le dialogue de propriétés
de
à
comme décrit dans l'Eclipse de la documentation
C'est un patch, car il dépend sur le raccourci pour arranger les choses...
L'alternative est de définir le paramètre de façon permanente dans l'eclipse de l'initialisation du fichier.
Je viens d'avoir ce problème (Java 1.8 vs Java 9 sur Windows 7) et mes conclusions sont les suivantes:
version courte
par défaut semble être (à cause de l'entrée du Chemin)
sélectionnez la version que vous voulez (de test, l'utilisation de l'onglet de la fin dans cmd, pas sûr de ce que ces chiffres représentent), j'avais 2 options, voir la version longue pour plus de détails
supprimer jonction/lien et un lien vers votre version (l'un se terminant avec 181743567 dans mon cas pour Java 8)
version longue:
Réinstaller Java 1.8 après Java 9 ne fonctionne pas. La séquence des installations a été jdk1.8.0_74, jdk-9.0.4 et de tenter de faire de Java 8 par défaut avec le jdk1.8.0_162...
Après jdk1.8.0_162 de l'installation j'ai encore
Ce que je vois dans le chemin d'accès est
Donc j'ai vérifié ce qu'est et que j'ai trouvé c'est un carrefour (lien)
Ceux hachages ne sonne pas une cloche, mais quand j'ai vérifié
afin de faire la Java 8 par défaut de nouveau, j'ai dû supprimer le lien que décrit ici
et le recréer avec Java je voulais
testé:
** mise à jour (Java 10) **
Avec Java 10 c'est pareil, seulement javapath est dans c:\Program Files (x86)\Common Files\Oracle\Java\ ce qui est étrange, j'ai installé 64 bits à mon humble avis
J'ai simplement installer toutes les versions de JDK j'ai besoin et la dernière installé devient par défaut, donc je viens de réinstaller celui que je veux être la valeur par défaut si nécessaire.
Après de nombreuses tentatives, j'ai trouvé la jonction approche plus pratique. Ceci est très similaire à la façon dont ce problème est résolu dans linux.
Fondamentalement, il consiste à avoir une lien entre
c:\tools\java\default
et le réel version de java que vous souhaitez utiliser par défaut dans votre système.Comment le configurer:
la variable d'environnement
-
PATH
pointant vers SEULEMENT à ce jrec:\tools\java\default\bin
-
JAVA_HOME
pointant vers `c:\tools\java\defaultC:\tools\Java\JRE_1.6
C:\tools\Java\JRE_1.7
C:\tools\Java\JRE_1.8
C:\tools\Java\
junction default JRE_1.6
Cela va créer une jonction (qui est plus ou moins comme un lien symbolique linux) entre
C:\tools\java\default
etC:\tools\java\JRE_1.6
De cette façon, vous aurez toujours votre java par défaut dans
c:\tools\java\default
.Si vous avez besoin de changer votre java par défaut à la version 1.8, vous avez juste besoin d'exécuter
Alors vous pouvez avoir des fichiers par lots pour le faire sans invite de commande comme
set_jdk8.bat
set_jdk7.bat
Comme suggéré par @СӏаџԁеМаятіи
EDIT: a Partir de windows vista, vous pouvez utiliser
mklink /J default JRE_1.8
mklink /J
au lieu dejunction
pour une version plus récente de windows. Vous pouvez simplement utiliserrmdir
de supprimer en toute sécurité la jonction (cela n'affectera pas le dossier lié).J'ai plusieurs JDK (1.4, 1.5, 1.6) installé dans
C:\Java
avec leur Jre. Ensuite, je laisse le Soleil de mise à jour de la JRE public dansC:\Program Files\Java
.Dernièrement, il y a une amélioration, installation dans re6. Auparavant, il y avait un autre dossier par la nouvelle version (1.5.0_4, 1.5.0_5, etc.), ce qui prenait beaucoup de place
une modifiables de façon à exécuter une .jar application est de créer un .chauve-souris cmd pour elle.
par exemple, vous avez jre10 et jre8 installé sur votre pc,et jre10 est par défaut de votre jre.
mais votre bocal est spécifié pour fonctionner avec jre8,à la suite de cmd travail: