A partir da versão 7, a Apple parou de gerenciar o JDK para Mac OS. Essa responsabilidade agora é da Oracle. Até a JDK 6, a Apple trazia como default o Java instalado, acredito que além de uma questão política das empresas, deve ter relação com o fato que de tempos em tempos sempre é publicado uma vunerabilidade da JVM em sites de segurança.
Porém, como desenvolvedor, pode ser necessário você trabalhar com várias versões de JDK e ai que entra a parte interessante da dica.
Na pasta ” /Library/Java/” do Mac OS estão todas as instalações do Java da sua máquina. Lá existem três pastas (Extensions, Home e JavaVirtualMachines). Na pasta JavaVirtualMachines é possível checar todas jdk instaladas, pois é salvo um arquivo, como “jdk1.7.0_21.jdk”.
Caso esteja testando o Jdk 8, e precise manter o 6 e o 7 configurado, é possível dinamicamente setar o JAVA_HOME, através de um simples comando, configurado no arquivo .bash_profile.
O arquivo bash_profile fica no caminho ~/.bash_profile e pode ser editado com qualquer editor do terminal, como vi, por exemplo.
Com o editor aberto, adicione as seguintes linhas ao arquivo:
export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)
export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
E para definir o comando que seta a JAVA_HOME atual, crie as três linhas abaixo:
alias setjdk16=’export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)’
alias setjdk17=’export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)’
alias setjdk18=’export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)’
Para definir qual jdk é a default, basta chamar o comando do alias.
Exemplo para setar JDK 6, executar setjdk16 e testar com javac -version ou java-version. O mesmo para as outras versões.