我们有时候会在windows下安装多个jdk,但是安装多个jdk会引起一些问题。
本机是安装了两个版本的jdk,一个是jdk1.8和jdk1.6。一开始是安装的jdk1.8,但是由于jdk1.8在项目中会有一些错误,所以决定还是使用jdk1.6吧。但是安装好1.6后,也配置好了环境变量。问题出现了,执行java – version 得到
我认为是我配置jdk1.6时候把1.6版本的目录放在了1.8后面,我就去查找我的Path(这个时候我的JAVA_HOME=C:\Java1.6\jdk1.6.0_24)
C:\ProgramData\Oracle\Java\javapath;%JAVA_HOME%\bin;E:\app\Administrator\product\11.2.0\dbhome_1\BIN……
在安装JDK1.8时(本机先安装jdk1.8再安装的jdk1.6),自动将java.exe、javaw.exe、javaws.exe三个可执行文件复制到了C:\Windows\System32目录,由于这个目录在WINDOWS环境变量中的优先级高于JAVA_HOME设置的环境变量优先级
解决方案:将C:\Windows\System32目录下的java.exe,javaw.exe,javaws.exe删除即可。开启新的命令行窗口,再执行java -version时,就得到了期望中的结果。
我去查看自己的C:\Windows\System32去查找,但是我的竟然没有,但是他给了我一个思路。我的Path是:
C:\ProgramData\Oracle\Java\javapath;%JAVA_HOME%\bin;E:\app\Administrator\product\11.2.0\dbhome_1\BIN……
我就去最前面的路径去找,啊,C:\ProgramData\Oracle\Java\javapath下竟然有这三个文件(我的电脑上安装了oracle):
最后我把%JAVA_HOME%\bin放到了最前面,再次执行java – version。问题解决了:
建议:为了提高效率,把你想使用的JDK的bin路径直接放到Path的最前面。
作者水平有限,难免有错误之处,殷切希望广大读者批评指正。
转载请注明出处:http://blog.youkuaiyun.com/gcw1024