J'essaie d'installer un JDK 8 sur OS X Mountain Lion (pour expérimenter les nouvelles fonctionnalités lambda).
Point de départ
Une machine récemment mise à jour de OS X 10.6 à 10.8, avec
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.8.2
BuildVersion: 12C60
$ ls -l /Library/Java/JavaVirtualMachines/
Home@ -> jdk1.7.0_09.jdk/Contents/Home/
jdk1.7.0_09.jdk/
$ ls -l /System/Library/Java/JavaVirtualMachines/
1.6.0.jdk/
et ce dossier de l'ère OS X 10.6 :
/System/Library/Frameworks/JavaVM.framework/Versions/
Dans ~/.bashrc, j'ai mis
export JAVA_HOME=/Library/Java/JavaVirtualMachines/Home
J'ai donc
$ java -version
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)
$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home
Comment j'ai installé le JDK 8
-
Le fichier .tar.gz a été téléchargé à partir de http://jdk8.java.net/lambda/ et l'a déballé dans
- /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home
(J'ai créé les dossiers
jdk1.8.0.jdk/Contents/Home
manuellement) -
Modification du lien symbolique
/Library/Java/JavaVirtualMachines/Home
pour pointer vers jdk1.8
Maintenant, j'ai
$ java -version
openjdk version "1.8.0-ea"
OpenJDK Runtime Environment (build 1.8.0-ea-lambda-nightly-h2135-20121203-b67-b00)
OpenJDK 64-Bit Server VM (build 25.0-b05, mixed mode)
$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/Home
$ ls /Library/Java/JavaVirtualMachines
Home@ -> jdk1.8.0.jdk/Contents/Home/
...
Mais le java_home
Le service public ne semble pas s'en préoccuper :
$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home
Il ne sait même pas qu'il existe un JDK 8 :
$ /usr/libexec/java_home -v 1.8*
Unable to find any JVMs matching version "1.8*".
Pregunta
J'aimerais que le /usr/libexec/java_home
pour trouver les JDK installés, ce qui me permet d'utiliser quelque chose comme ceci :
alias setjdk17='export JAVA_HOME=$(/usr/libexec/java_home -v 1.7*)'
alias setjdk18='export JAVA_HOME=$(/usr/libexec/java_home -v 1.8*)'
et se débarrasser de la Home
lien symbolique. Quelqu'un sait-il
- comment installer correctement le JDK 8 ?
- comment je peux faire
/usr/libexec/java_home
le reconnaître ?