J'ai été confronté à une situation similaire au travail, j'ai donc fait quelques recherches et, après quelques minutes de configuration, il est possible de passer sans problème de Java 6 à Java 7 (ou de 7 à 8, d'ailleurs - cette méthode est indépendante de la version).
Pour tous ceux qui ont installé Java, /usr/libexec/java_home
affichera le répertoire JAVA_HOME, mais il est particulièrement puissant lorsque vous avez plusieurs versions de java installées côte à côte sur OS X.
Utilisation de la -V
vous pouvez voir tous des JVM installées :
$ /usr/libexec/java_home -V
Matching Java Virtual Machines (3):
1.7.0_67, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk/Contents/Home
1.6.0_65-b14-466.1, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0_65-b14-466.1, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Vous pouvez également obtenir la valeur JAVA_HOME pour une JVM spécifique comme suit :
$ /usr/libexec/java_home -v 1.6
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
$ /usr/libexec/java_home -v 1.7
/Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk/Contents/Home
En mettant tout cela ensemble, voici ce que j'ai ajouté à mon ~/.profil :
## java home
alias j6="export JAVA_HOME=\$(/usr/libexec/java_home -v 1.6);echo 'using Java 6'"
alias j7="export JAVA_HOME=\$(/usr/libexec/java_home -v 1.7);echo 'using Java 7'"
## manual switch for 1.6 or 1.7
j6 ## enable java 6 (or just run j6 in terminal)
## j7 ## enable java 7 (or just run j7 in terminal)
Vous pouvez donc voir qu'actuellement, mon terminal utilise Java6 par défaut, mais je peux changer cela en tapant simplement j7
sur la ligne de commande (ou en éditant le fichier ~/.profile) :
$ java -version
java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-466.1-11M4716)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-466.1, mixed mode)
$ j7
using Java 7
$ java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)