Incompatibilidade de versão do JDK no OSX

Incompatibilidade de versão do JDK no OSX

Tenho desenvolvido em Java no OSX sem problemas devido a alguns problemas. Ontem, comecei a ter travamentos estranhos do compilador (NPEs profundos em javac).

Instalei o JDK 1.8.0_101, mas o javac está se reportando como 1.8.0_20.

$ which javac
/usr/bin/javac

$ ls -l /usr/bin/javac
lrwxr-xr-x  1 root  wheel  74 20 Sep 15:16 /usr/bin/javac -> /Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/bin/javac

$ /usr/libexec/java_home 1.8
/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home

$ echo $JAVA_HOME
Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home

$ java -version
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

Então, tudo parece incrível, mas então:

$ javac -version
javac 1.8.0_20

Alguém tem alguma sugestão sobre o que pode estar causando a escolha da versão errada? Eu tentei remover todas as JVMs e reinstalar, reinicializar e tudo mais.

Editar

Mesmo a execução do javac a partir do destino do link simbólico relata a versão errada. Também confirmei que a soma md5 de /Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/bin/javac corresponde à de uma instalação íntegra.

Responder1

Vá para cd /Library/Java/JavaVirtualMachines. Liste todos os arquivos usando ls.

Deve haver duas pastas jdk1.8.0_101.jdke jdk1.8.0_20.jdk. Digitar sudo rm -rf jdk1.8.0_20.jdk.

Agora verifique java -version e javac -version, devem ser iguais.

informação relacionada