扯淡
工做从web开发转向build automation,不知不觉已经一个半月了,各类学习熟悉build相关的流程和知识,好比ant, maven, jenkins 等CI技能。
由于这一个半月学的东西有点多,整理略显繁琐,但眼看着6月将过,仍是阶段性总结一下=)
为了配置多jdk编译环境,最近又去oracle上download了6u45版本的jdk。好久没用windows= = path的优先级问题忘记了java
问题
用下载的xxx.exe安装了jdk之后,发现环境变量里的JAVA_HOME和PATH里配置的java路径无效了,我尝试着切换JAVA_HOME里配的jdk版本,可是徒劳无功,java -version结果始终是我安装的那个jdk的版本
缘由
查看PATH,强调最开始的几个环境变量%SystemRoot%\system32;%SystemRoot%;
其中,SystemRoot=C:\windows。个人jdk路径配置在PATH的最后面%JAVA_HOME%\bin;
Path的优先级是从前日后。
问题就是安装版的jdk将java.exe, javaw.exe, javaws.java复制到了C:\windows\system32里,这个目录配置成Path的最高优先级,因此,不管如何我这边如何修改JAVA_HOME都是无效的。
解决
1. 删了C:\windows\system32里的3个java相关exe(放心,%JAVA_HOME%\bin\里有原形的)
2. 或者,将path中配置java的那段提到PATH最前面,提升优先级