(N'étais pas sûr si cela devrait aller SU... la migration est certainement une option, mais plus de programmeurs lire les questions ici, donc voilà).
Je suis sous Mac OS X 10.8.4, et j'ai d'Apple JDK 1.6.0_51 installé ainsi que d'Oracle JDK 1.7.0_25. J'ai récemment installé Oracle de 1,8 aperçu JDK pour certains pré-version du logiciel qui l'exige. Maintenant, quand je lance /usr/libexec/java_home, j'obtiens ceci:
$ /usr/libexec/java_home -V
Matching Java Virtual Machines (4):
1.8.0, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home
1.7.0_25, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home
1.6.0_51-b11-457, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0_51-b11-457, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Grand.
Toutefois, en cours d'exécution:
$ java -version
Retourne:
java version "1.8.0-ea"
Cela signifie que la version par défaut de Java est actuellement la version pre-release, qui casse certains "normal" packages (dans mon cas, VisualVM).
Je ne peux pas définir JAVA_HOME
parce que de lancer des applications ignore les variables d'environnement, même lors du lancement de la ligne de commande (par exemple, $ open /Applications/VisualVM.app
).
Alors, est-il un fichier, je peux le modifier où je peux mettre mon JVM de la commande préférences à l'échelle mondiale?
(S'il vous plaît ne me dites pas de lancer le Java Panneau de Préférences parce que cela ne fonctionne tout simplement pas: il ne contient pas de quelque chose d'utile et que les listes de l'une des 4 machines virtuelles que j'ai installé.)
Mise à jour:
Oracle Jvm vivre en /Library/Java/JavaVirtualMachines
. Re-nommer les JDK 1.8 répertoire jdk1.8.0.jvm.xyz
ne change rien: java_home
la trouve encore à la bonne place, et la course /usr/bin/java s'exécute encore le 1.8 de la JVM. Ce n'est pas un problème avec synlinks, etc.