La versión de JDK no coincide en OSX

La versión de JDK no coincide en OSX

He estado desarrollando en Java en OSX sin problemas por un par de problemas. Ayer comencé a tener fallas extrañas en el compilador (NPE profundas en javac).

Instalé JDK 1.8.0_101, pero javac se informa 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)

Entonces todo se ve increíble, pero luego:

$ javac -version
javac 1.8.0_20

¿Alguien tiene alguna sugerencia sobre lo que podría estar causando que seleccione la versión incorrecta? Intenté eliminar todas las JVM, reinstalarlas, reiniciarlas y todo eso.

Editar

Incluso ejecutar javac desde el destino del enlace simbólico informa la versión incorrecta. También confirmé que la suma md5 de /Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/bin/javac coincide con la de una instalación saludable.

Respuesta1

Ir a cd /Library/Java/JavaVirtualMachines. Enumere todos los archivos usando ls.

Debería haber dos carpetas jdk1.8.0_101.jdky jdk1.8.0_20.jdk. Ingresar sudo rm -rf jdk1.8.0_20.jdk.

Ahora verifique java -version y javac -version, deberían ser iguales.

información relacionada