我運行的是 Windows 7 Professional x64 並安裝了以下 Java 版本:
x64
- C:\程式檔案\Java
- jdk1.6.0_24
- jdk1.7.0_04
- jdk1.7.0_07
- 傑瑞6
- 傑瑞7
x86
- C:\程式檔案 (x86)\Java
- jre1.6.0_07
- 傑瑞6
- 傑瑞7
在我的環境變數中,我包含PATH
並C:\Program Files\Java\jdk1.6.0_24\bin
設定JAVA_HOME
為C:\Program Files\Java\jdk1.6.0_24\bin
然而運行java -version
報告
java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)
我的環境變數中沒有引用此版本的 Java,這是怎麼回事?
當我試圖運行時,對這個問題的任何幫助都會很棒阿帕契螞蟻使用Java 1.6。
答案1
您可能已將 java.exe 複製到系統路徑之一(據我所知,這是 Java 安裝程式的預設行為)。要檢查當您執行“java -version”時實際執行的內容,請從命令列運行:
for %I in (java.exe) do @echo %~$PATH:I
它會告訴您它在哪裡。
答案2
安裝公用 JRE(由 Java 外掛程式使用)時,也會在 C:\WINNT\system32 (IIRC) 中建立 java.exe 檔案。執行的可能是這個 java 指令,因為 C:\WINNT\system32 位於 PATH 中的 JDK/bin 目錄之前。
將JDK/bin目錄放在PATH的開頭
答案3
PATH 資料夾會依照它們出現的順序進行檢查。嘗試將 java 路徑移到前面。如果這解決了問題,那麼您的路徑上的某個地方就有了另一個版本。
答案4
正如我最近發現的那樣,請確保您是JAVA_HOME
在“系統變數”部分而不是“使用者變數”部分中定義的。
我%JAVA_HOME%\bin
一開始就有PATH
,但它不起作用 - 添加JAVA_HOME
到系統中糾正了這個問題。