[英]Weird issue with environment variables
我的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.6.0_39
我不知道為什么為java -version
打印1.7.0_11
。 我已經檢查了PATH
並且只添加了JAVA_HOME。 我如何知道哪個env變量負責使用java.exe
? 如何避免呢?
幾乎可以肯定,它是c:\\Windows\\System32
中java.exe
的版本,它的路徑可能要比引用JAVA_HOME
的部分早。
好的,希望%JAVA_HOME\\bin%;
是一個錯字,但如果不是,則應為%JAVA_HOME%\\bin
。
其余的java -version
正在尋找您的JRE,而不是您的JDK。 javac
正在尋找JDK。
檢查是否具有與JRE相關的環境變量。 同樣,請檢查您的路徑,以獲取對Java 7 JRE的任何硬引用。 最后,在C:\\ Windows \\ System32中查看是否存在java.exe
。
Java.exe
在Windows上安裝了兩次。 第一個位置是您期望的位置: JAVA_HOME
。 第二個在c:/windows
。 由於此路徑始終會贏得任何其他用戶定義的路徑,因此您從此處運行Java。 如果要保留幾個Java環境並通過更改JAVA_HOME
在它們之間切換,只需從c:/windows
刪除java.exe
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.