OSX의 JDK 버전 불일치

OSX의 JDK 버전 불일치

나는 몇 가지 문제에 대해 문제없이 OSX에서 Java를 개발해 왔습니다. 어제부터 이상한 컴파일러 충돌(javac의 깊은 NPE)이 발생하기 시작했습니다.

JDK 1.8.0_101을 설치했는데 javac가 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)

모든 것이 멋져 보이지만 다음과 같습니다.

$ javac -version
javac 1.8.0_20

잘못된 버전을 선택하는 원인에 대한 제안 사항이 있는 사람이 있습니까? 모든 JVM을 제거하고 다시 설치하고 재부팅하는 등 모든 것을 시도했습니다.

편집하다

심볼릭 링크 대상에서 javac를 실행해도 잘못된 버전이 보고됩니다. 또한 /Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/bin/javac의 md5 합계가 정상 설치의 합계와 일치하는지 확인했습니다.

답변1

이동 cd /Library/Java/JavaVirtualMachines. 를 사용하여 모든 파일을 나열합니다 ls.

jdk1.8.0_101.jdk두 개의 폴더 와 가 있어야 합니다 jdk1.8.0_20.jdk. 입력하다 sudo rm -rf jdk1.8.0_20.jdk.

이제 java -version과 javac -version을 확인하세요. 동일해야 합니다.

관련 정보