1.7 Os JDKs não entram em /System/Library/Frameworks
, eles entram em /Library/Java/JavaVirtualMachines
. Quando você executa /usr/bin/java
, ele escolhe a instalação apropriada do Java para usar
- Se você tiver uma variável de ambiente
JAVA_HOME
definida, ela usará essa versão - Caso contrário, ele escolherá o "melhor" JDK instalado dentre os disponíveis em
/Library/Java/JavaVirtualMachines
e/System/Library/Java/JavaVirtualMachines
, você pode executar/usr/libexec/java_home
para ver qual deles o sistema considera como "melhor".
É claro que, se você tiver adicionado manualmente /Library/Java/JavaVirtualMachines/<something>/Contents/Home/bin
ao seu PATH
à frente de /usr/bin
, então java
significará essa versão específica, em vez daquela selecionada pelo sistema. Você pode verificar isso executando which java
.
Para complicar ainda mais, há outra cópia do JRE em /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
, que é a usada para plug-ins de navegador e para pacotes de .app
de 1,7-estilo que não incorporam seu próprio JRE.