今天遇到了一個問題:
我linux系統之前安裝JDK12,今天將其改成了JDK1.8,並修改了環境變量,但是通過java -version命令顯示的依舊是JDK12的版本。
這是因為,當使用安裝版本的JDK程序時(一般是1.7版本以上),在安裝結束后安裝程序會自動將java.exe、javaw.exe、javaws.exe三個可執行文件復制到C:\Windows\System32目錄,這個目錄在WINDOWS環境變量中的優先級高於JAVA_HOME設置的環境變量優先級,故此直接更改JAVA_HOME會無效。
windows解決方法:
刪除C:\Windows\System32目錄下的java.exe、javaw.exe、javaws.exe三個文件
刪除環境變量Path中C:\ProgramData\Oracle\Java\javapath的配置
原文鏈接:https://blog.csdn.net/qq_26369317/article/details/80922425
linux解決方法:
1 1、執行which java和which javac查詢java的執行路徑,分別顯示: 2 3 /usr/bin/java 4 5 /usr/local/jdk1.7.0_80/bin/javac 6 7 2、然后把新的java執行路徑ln -s 到新的jdk 下的 java 和 javac 上,如下 8 9 rm -rf /usr/bin/java 10 11 rm -rf /usr/bin/javac(可選) 12 13 ln -s $JAVA_HOME/bin/java /usr/bin/java 14 15 ln -s $JAVA_HOME/bin/javac /usr/bin/javac(可選)