Способ 1
Для того чтобы на Mac OS X переключаться между несколькими установленными виртуальными java-машинами нужно поменять переменную окружения JAVA_HOME, но сначала проверим сколько в системе установлено java-машин командой usr/libexec/java_home:
/usr/libexec/java_home -V Matching Java Virtual Machines (4): 1.8.0_111, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home 1.7.0_79, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home 1.6.0_65-b14-468, x86_64: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 1.6.0_65-b14-468, i386: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Затем нужно просетить в переменную окружения JAVA_HOME пэс нужной java-машины. Допустим нам нужна java-машина версии 1.7.0_79:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
После этого проверим, что системой используется та java-машина которую мы только что просетили:
java -version java version "1.7.0_79" Java(TM) SE Runtime Environment (build 1.7.0_79-b15) Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
или
/usr/bin/java -version java version "1.7.0_79" Java(TM) SE Runtime Environment (build 1.7.0_79-b15) Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
Способ 2
Есть ещё один способ по проще, команда /usr/libexec/java_home с параметром -v и версией java-машины возвратит путь к этой java-машине:
/usr/libexec/java_home -v 1.7 /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home /usr/libexec/java_home -v 1.8 /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home
таким образом можно просто присвоить переменной окружения JAVA_HOME результат выполнения команды /usr/libexec/java_home -v 1.7:
JAVA_HOME=`/usr/libexec/java_home -v 1.7`
Линки
How to set or change the default Java (JDK) version on OS X?
What is path of JDK on Mac ?
Where is Java Installed on Mac OS X?