解決安裝jdk後使用cmd校驗出現has value '1.8',but'1.7' is required.的方法
首先說一下怎麼安裝jdk,這個很簡單,首先上官網。
http://www.oracle.com/technetwork/java/javase/downloads/index.html
然後根據自己的系統以及系統的32/64位版本下載對應的JDK。
我下的是http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
版本號
Java SE Development Kit 8u20 |
安裝完之後是環境變數的設定。總共三步:
這裡直接引用網上的大神的內容:
安裝Java JDK1.7最重要的也是最容易出錯的是設定環境變數。一共需要設定3個環境變數:Path、Classpath和Java_Home(大小寫無所謂)。
Windows系統中設定環境變數如下圖:
1.右擊“我的電腦”,選擇“屬性”。
2.點選“高階”選項卡,選擇“環境變數”。
3.在“系統環境變數”中設定上面提到的3個環境變數,如果變數已經存在就選擇“編輯”,否則選“新建”。
一、JAVA_HOME:指明JDK安裝路徑,就是剛才你安裝時JDK1.7時所選擇的路徑(假設安裝在C:\Program Files\Java\jdk1.7),此路徑下包括lib,bin,jre等資料夾(此變數最好設定,因為以後執行tomcat,Eclipse等都需要依靠此變數)。
二、Path:使得系統可以在任何路徑下識別java命令(此變數系統應該用,你找到後直接開啟然後把下面這句話全部複製並覆蓋就可以了),設為:%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin。
三、CLASSPATH:為java載入類(class or lib)路徑,只有類在classpath中java命令才能識別,設為【.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar 】,其中開頭的“.”表示當前路徑,一定要複製進去。
特別注意:
◆環境變數值的結尾沒有任何符號,大家儘量去複製我的語句。
環境變數配置好之後我們在cmd裡輸入java -version
如果安裝一切正常的話應該會出現相應的版本資訊,不過有時候會出現不正常的情況。原因是你之前安裝的java比你安裝的jdk的版本低,就會出現這樣的情況:
Registry key 'Software/JavaSoft/Java Runtime Environment/CurrentVersion'
has value '1.8', but '1.7' is required.
Error: could not find java.dll
Error: could not find Java 2 Runtime Environment.
(根據你使用的版本,上面的1.8和1.7之類的數字可能會有些不一樣,但是處理方法應該是大同小異的)
網上最簡單的方法就是,解除安裝掉你裝的java或者jdk,然後找一個相對比較低的版本與之適配,然後就可以了。jdk是個很蛋疼的東西,版本太高反而不好用。
好了,下面說一下在網上摸索到的,不用重灌或者解除安裝的方法,那就是通過修改登錄檔的方式讓自己的那個高版本的jdk或者java的版本變低一些,這樣就可以適應了。
我們開啟登錄檔,然後找到這個路徑:
HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Runtime Environment
以我自己的為例,我的CurrentVersion是1.8,而Java7FamilyVersion卻是1.7.0_67,我把兩個都改成1.7之後儲存。
重新在cmd裡輸入一次java -version
得到的就是:
java version ''1.7.0_67"
Java<TM> SE Runtime Environment <build 1.7.0_67-b01>
Java HotSpot<TM> 64-Bit Server VM <build 24.65-b04, mixed mode>
好了,問題解決,希望可以幫到有需要的童鞋。