关于windows的jdk

扯淡
工作从web开发转向build automation,不知不觉已经一个半月了,各种学习熟悉build相关的流程和知识,比如ant, maven, jenkins 等CI技能。
因为这一个半月学的东西有点多,整理略显繁琐,但眼看着6月将过,还是阶段性总结一下=)
为了配置多jdk编译环境,最近又去oracle上download了6u45版本的jdk。很久没用windows= = path的优先级问题忘记了

 
问题
用下载的xxx.exe安装了jdk以后,发现环境变量里的JAVA_HOME和PATH里配置的java路径无效了,我尝试着切换JAVA_HOME里配的jdk版本,但是徒劳无功,java -version结果始终是我安装的那个jdk的版本
 
原因
查看PATH,强调最开始的几个环境变量%SystemRoot%system32;%SystemRoot%;
其中,SystemRoot=C:windows。我的jdk路径配置在PATH的最后面%JAVA_HOME%in;
Path的优先级是从前往后。
问题就是安装版的jdk将java.exe, javaw.exe, javaws.java复制到了C:windowssystem32里,这个目录配置成Path的最高优先级,所以,无论如何我这边如何修改JAVA_HOME都是无效的。
 
解决
1. 删了C:windowssystem32里的3个java相关exe(放心,%JAVA_HOME%in里有原形的)
2. 或者,将path中配置java的那段提到PATH最前面,提高优先级
原文地址:https://www.cnblogs.com/timelyxyz/p/3815964.html