2013-09-05 101 views
0

我的Windows 7系統上有這個環境變量的奇怪問題。它已在那裏一年,我有一個工作,但我需要現在解決它:環境變量的奇怪問題

我有一個環境變量JAVA_HOME設置爲C:\Program Files\Java\jdk1.6.0_39\。並在我的PATH我已添加%JAVA_HOME%\bin;

但是當我做java -version它打印"1.7.0_11"當我做javac -version它打印預期1.6.0_39

我不知道爲什麼1.7.0_11打印爲java -version。我檢查了我的PATH,並且只添加了一次JAVA_HOME。我如何知道哪個env變量負責使用我的java.exe?我如何避免它?

+2

我明白你的意思是%JAVA_HOME%bin,而不是%JAVA_HOME \ bin% –

+1

這是一個錯字。編輯它 – Jatin

回答

2

這幾乎可以肯定是c:\Windows\System32java.exe的一個版本,它很可能比你指定的部分更早地出現在JAVA_HOME的部分。

+0

'java.exe'將如何在'System32'中結束? –

+0

@SotiriosDelimanolis:我相信這只是Windows上默認安裝的一部分。 –

+0

嘗試安裝程序時,默認位置是'C:\ Program Files(x86)\ Java \ jre7',除非那是安裝程序找到的以前安裝的位置。 –

1

好吧,希望%JAVA_HOME\bin%;是一個錯字,但如果不是,它應該是%JAVA_HOME%\bin

其餘的 - java -version正在尋找你的JRE,而不是你的JDK。 javac正在尋找JDK。

檢查是否有與JRE相關的環境變量。另外,請檢查您的路徑以獲取有關Java 7 JRE的任何硬引用。最後,查看C:\ Windows \ System32並查看是否存在java.exe

1

Java.exe在Windows上安裝了兩次。第一個位置是您期望的位置:在您的JAVA_HOME之下。第二個是c:/windows。由於此路徑總是贏得任何其他用戶定義的路徑,因此您正在此處運行java。如果你想擁有幾個java環境,並通過更改JAVA_HOME只需從c:/windows刪除java.exe在它們之間切換。