切换JDK版本时修改JAVA_HOME环境变量不生效(转)

当电脑上存在多个版本的JDK时,可能 会遇到想切换版本时无论你如何改JAVA_HOME的路径

进入cmd

java -version

都无法得到最新设置的JDK版本

如果遇到类似以下信息

Registry key 'Software\JavaSoft\Java Runtime Environment\CurrentVersion' 
has value '1.6', but '1.8' is required. 
Error: could not find java.dll 
Error: could not find Java 2 Runtime Environment.

可以打开注册表

1. 打开开始菜单,搜索regedit,打开注册表 
2. 打开”HKEY_LOCAL_MACHINE” 
3. 点击”SOFTWARE” 
4. 点击”JavaSoft” 
5. 点击”Java Runtime Environment” 
6. 选中”CurrentVersion” ,右键点击更改为你要设置的版本

不过问题就在于如果每次切换JDK都要改注册表信息,那实在太烦人了。

最后查找资料发现 WINDOW本身系统SYSTEM32里面的环境变量加载等级要优先于用户设置的环境变量

打开C盘C:\Windows\System32

里面有

切换JDK版本时修改JAVA_HOME环境变量不生效(转)

将这三个文件删除,或重命名,就可以通过只修改JAVA_HOME切换JDK版本了


其根本原因是%JAVA_HOME%在path中配置的位置在%SystemRoot%\system32;后面,放到path最前面就好了。

上一篇:C语言函数指针的用法


下一篇:多线程 or 多进程 (转强力推荐)