2012-10-15 112 views
3

我在我的機器上安裝了2個Java。 1.5和1.6。對於這個項目,我需要1.5。我已經設定我的所有路徑變量到合適的即java_home沒有正確設置

echo %JAVA_HOME% 
<PATH_TO_1.5_JDK> 

這就是我想要的..但​​是當我做

java -version 
java version "1.6.0_33" 
Java(TM) SE Runtime Environment (build 1.6.0_33-b05) 
Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03, mixed mode) 

爲什麼java的V 6被欽點爲java -version命令?

UPDATED 我已經檢查了%PATH%變量,路徑中出現的唯一Java版本是1.5。我在這裏指的是SYSTEM VARIABLES變量,我正在使用Win7

+3

你檢查PATH變量嗎? – Azuan

+0

你使用什麼操作系統? –

+0

你是否在回報java版本1.6的同一終端中回顯%PATH%? – pb2q

回答

7

選擇Java 6是因爲它首先引入了PATH環境變量。它無關JAVA_HOME變量,直到除非你使用JAVA_HOME變量

設置一個新的用戶變量PATH作爲JAVA_HOME \ BIN指定PATH變量,會如果你正在運行的java解決您的問題

+0

我更新了我的問題 –

+0

呀! 同樣的問題在這裏,解決了設置一個新的USER變量JAVA_HOME爲 Kummo

3

命令行上重要的環境變量是%PATH%:如果JDK-1.6的路徑bin目錄位於路徑上的路徑前面的路徑的前面1.5 bin目錄,則在命令行上運行java將使用1.6版本。

JAVA_HOME環境變量被各種其他程序用於查找JDK,如ant,某些IDE和第三方庫。

如果您爲項目使用了特定的IDE,那麼您需要了解它如何查找JVM。如果您要在命令行上進行編譯,請調整您的PATH以使1.5安裝在1.6安裝之前,或使用編譯器和VM的完整路徑。

+0

我更新了我的問題 –

0

據我所知,沒有熱點的Java命令使用JAVA_HOME任何東西:

命令如javajavac基於PATH變量的位置,在Windows,UNIX,Linux和基於BSD的操作系統,如蘋果系統。通過PATH命令的位置通常是命令外殼和/或OS功能。

JAVA_HOME變量被一些使用,如Ant,Maven,Tomcat等第三方工具來定位要使用的Java安裝。但其他工具會忽略JAVA_HOME,並使用特定於應用程序的配置機制(例如Eclipse)或某些外殼程序來確定安裝位置(例如)通過PATH找到的java命令的位置。

0

我不得不使用Java 7和Java 8同樣的問題。

解決方法:從PATH變量 刪除(系統變量)下面的條目:

c:\ProgramData\Oracle\Java\javapath\ 
1

我有一個類似的問題,我定:

路徑沒有改變,因爲用戶特定JAVA_HOME是指向一些錯誤的Java版本。

爲Windows運行鍵入「爲您的帳戶編輯環境變量」,我在用戶變量中看到另一個JAVA_HOME。我刪除了它,然後使用了正確的Java版本。