以下根据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查找jvm。
优先级3:
若系统安装了JDK,则会去查找安装的最低版本JDK(若当前eclipse能支持,则正常启动),并匹配使用其jvm。若系统未安装,即在系统注册表中未找到安装JDK信息,则按优先级4查找。
优先级4:
查找系统环境变量,若环境变量中配置了JDK信息(通常用作免安装方式配置),则按照系统环境变量中配置jdk信息获取其相应jvm。若环境变量中未配置JDK信息,则eclipse启动失败并报错。
注:
在系统中通过以下命令获取java版本。
java -version
这样获取为系统查找jdk方式,这样查找优先级为:当jdk为安装时,则优先查找安装jdk最高版本,若为安装jdk时,查找环境变量中是否含jdk配置,若依然不存在,在报错为不是系统命令。