Java - java與javac版本不一致問題

襲冷發表於2014-03-31
一、問題描述
    之前安裝了JDK 1.6.0_03,設定了環境變數JAVA_HOME為1.6.0_03的安裝目錄,並且在PATH變數中加入了%JAVA_HOME%\bin。之後又安裝了JRE 1.7.0_25。在Windows命令列下,執行java -version顯示:java version 1.7.0_25,而執行javac -version則顯示:javac 1.6.0_03。

二、原因分析
    同時安裝了jdk 1.6.0_03和jre 1.7.0_25,且PATH變數中,C:\WINDOWS\system32目錄在%JAVA_HOME%\bin之前。在Windows命令列下執行命令時,先從當前目錄搜素,然後按照PATH設定的路徑依次查詢命令,而JRE安裝時會將java.exe安裝到C:\WINDOWS\system32目錄下,所以執行java -version命令時檢視的是jre的版本,而執行javac -version時檢視的jdk的版本。

三、解決方法
    將path中%JAVA_HOME%\bin放在%SystemRoot%\system32之前,執行java -version和javac -version,均為1.6.0_03版本。

相關文章