现象:
当安装版本JDK1.7后,在本地修改为JDK1.7,直接更改系统环境变量JAVA_HOME是无效的
原因:
当使用安装版本的JDK程序时(一般是1.7版本以上),在安装结束后安装程序会自动将java.exe、javaw.exe、javaws.exe三个可执行文件复制到C:\Windows\System32目录,这个目录在WINDOWS环境变量中的优先级高于JAVA_HOME设置的环境变量优先级,故此直接更改JAVA_HOME会无效。
另外,JDK1.8安装版本,还会在C:\ProgramData\Oracle\Java目录中生成一些配置文件,并同时将此目录写到环境变量中的Path中。
解决方案:
删除C:\Windows\System32目录下java.exe、javaw.exe、javaws.exe三个文件,把新安装的文件拷贝过来(JAVA_HOME\bin下)
删除Path中C:\ProgramData\Oracle\Java\javapath配置
更改注册表(cmd->regedit)HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment的CurrentVersion值(当前安装的jdk版本号)
转自:https://www.cnblogs.com/maxmoore/p/6555239.html