FusionSphereInstaller安装VRM的时候,总是提示“系统中定义的JAVA环境变量错误

发布时间:  2016-02-24 浏览次数:  335 下载次数:  0
问题描述

FusionSphereInstaller安装VRM的时候,总是提示“系统中定义的JAVA环境变量错误,请检查JAVA_HOME或JRE_HOME设置环境变量”,安装无法继续。

处理过程

解决:分析安装工具包路径下的\depends\log\InstallTool_VRM.log文件发现如下日志:

2016-01-19 21:11:25.303> [DEBUG] Get enviroment JAVA_HOME ...
2016-01-19 21:11:25.303> [DEBUG] enviroment [JAVA_HOME = C:\Program Files (x86)\Java]
2016-01-19 21:11:25.303> [DEBUG] Get enviroment JRE_HOME ...
2016-01-19 21:11:25.303> [DEBUG] enviroment [JRE_HOME = C:\Program Files (x86)\Java]
2016-01-19 21:11:25.303> [DEBUG] Checking java enviroment valid ...
2016-01-19 21:11:25.303> [DEBUG] Get enviroment JAVA_HOME ...
2016-01-19 21:11:25.303> [DEBUG] enviroment [JAVA_HOME = C:\Program Files (x86)\Java]
2016-01-19 21:11:25.303> [DEBUG] Get enviroment JRE_HOME ...
2016-01-19 21:11:25.303> [DEBUG] enviroment [JRE_HOME = C:\Program Files (x86)\Java]
2016-01-19 21:11:25.303> [ERROR] File [C:\Program Files (x86)\Java\jre\bin\java.exe] is not exists!

 将JAVA_HOME删除,只设置JRE_HOME。问题解决。

根因

经过分板,JAVA_HOME与JRE_HOME设置之后所出现的结果是不一样的,而JAVA_HOME的优先级高于JRE_HOME,JAVA_HOME一般用于安装了JDK的用户,JRE_HOME一般用于只安装了JRE环境的用户。
以下解释两种变量设置后的不同结果:

    华为安装工具通过在JAVA_HOME变量取得的路径后追加“jre\bin\java.exe”,但正常的情况只安装JRE安装程序文件生成的路劲中都是有版本号的,如"jre7\bin\java.exe",所以华为工具追加后,无法找到路径而报错。
   而通过JRE_HOME取得的路径后面只会追加“\bin\java.exe”,所以规避了版本号的问题,但需要带版本号的文件夹加入到JRE_HOME变量中如“C:\Program Files (x86)\Java\jre7“。
所以,如果你是安装了JDK的用户,只需要设置JAVA_HOME即可,如果你只安装了JRE,那只设置JRE_HOME就好了,不要设置JAVA_HOME,否则会导致优先级问题,而无法正确生成JAVA的路径而报错。

解决方案

注意JAVA_HOME和JRE_HOME设置后产生的不同结果

END