eclipse初始啟動尋找JVM(JRE)的順序機制
以下根據eclipse尋找JVM順序進行講解。
優先順序1:
eclipse會去eclipse.ini中查詢是否配置了-vm引數,若配置了,則直接使用這裡配置的JVM作為預設JVM。配置如下:
-vm
x:\xx..xx\jdk1.7.0\jre\bin\javaw.exe
這裡配置需要注意以下兩點:1).-vm要寫在-vmargs引數之前,因為在執行-vmargs的時候必須已經配置JVM,如果不放心擔心配錯,可以寫在最前面;
2).-vm引數下的路徑需要絕對路徑。
若在eclipse.ini中未發現JVM配置,則按優先順序2查詢jvm。
優先順序2:
eclipse在安裝目錄下查詢是否有jre資料夾,若存在,則使用這裡jre中JVM作為預設JVM,需要注意的是若這裡只是一個名為jre的空資料夾或不符合jre標準的檔案目錄,則會當eclipse安裝目錄下未找到jre和jvm處理。若eclipse安裝目錄下不含jre,則按優先順序3
優先順序3:
若系統安裝了JDK,則會去查詢安裝的最低版本JDK(若當前eclipse能支援,則正常啟動),並匹配使用其jvm。若系統未安裝,即在系統登錄檔中未找到安裝JDK資訊,則按優先順序4查詢。
優先順序4:
查詢系統環境變數,若環境變數中配置了JDK資訊(通常用作免安裝方式配置),則按照系統環境變數中配置jdk資訊獲取其相應jvm。若環境變數中未配置JDK資訊,則eclipse啟動失敗並報錯。
注:
在系統中通過以下命令獲取java版本。
java -version
這樣獲取為系統查詢jdk方式,這樣查詢優先順序為:當jdk為安裝時,則優先查詢安裝jdk最高版本,若為安裝jdk時,查詢環境變數中是否含jdk配置,若依然不存在,在報錯為不是系統命令。