问题现象:
在现公司,遇到一个问题,就是配置JAVA_HOME无效,不管怎么改,运行java -version始终是最初的那个java版本。直接在PATH环境变量里追加写死的java路径也没用。
解决过程:
曾经在一个人机器上发现此问题,然后又在两个机器上发现同样的问题,于是我迷茫了。
接着冷静下来想想,在以前的地方从未遇到过这种情况,在现公司三个机器都遇到同样的情况,那么,很有可能就是因为现公司的系统的环境问题,或许是因为大家都装了某个软件引起的。
然后突然想到,难道是在系统目录里面有java.exe?导致优先调用了系统目录中的java.exe,而不是自己配置的JAVA_HOME中的java.exe?
立马来到C:\WINDOWS\system32目录下进行验证。果然,java.exe、javac.exe等exe程序华丽丽地躺在那里!
尼玛,哪个牛掰软件啊!居然把整个JDK安装到system32目录下面了。
解决途径:
接下来问题就简单了,修改环境变量即可解决。
因为PATH环境变量中默认将system32等系统重要目录添加在最前面,所以运行java -version时当然是调用system32目录下的java.exe了。所以只要将%JAVA_HOME%/bin这一句放到PATH环境变量的最前面,问题就迎刃而解了。
以上部分转自: http://yunzhu.iteye.com/blog/1551433
安装新的jdk时需要注意如下两点:
1.找到Java注册表键值 HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft ,将文件夹JavaSoft改名,最好只是改名,因为一旦出了问题还可以再改回来。然后再装旧版jre,原路经下安装可能还会报错,换一个路径安装,看看是不是没问题了,看看控制面板上Java的版本是不是换了。
2.修改%JAVA_HOME%环境变量。
如果jdk无法删除,报找不到dll文件,可以下载your uninstall卸载软件进行卸载,打开找到对应的jdk版本进行卸载