问题描述:
今天遇到一个小bug,我电脑环境变量配置的版本是jdk1.8,但是当我cmd 使用java -version检测jdk版本的时候,它显示的是1.6,而且,无论我如何修改环境变量,cmd检测出来的jdk版本都是1.6版本。
经过长达不到1小时的时间,通过各种方法和尝试,终于发现问题所在。
问题产生原因:
1.Path环境变量配置了Oracle
如果电脑上安装了oracle的,如果是的话,你查看path中所有的配置,
你会发现oracle的jdk1.6的配置在jdk1.8的配置之前,
解决方案:jdk1.8安装之后,jdk版本不是自己设置的jdk版本
在class的配置文件中发现,在最初为位置多了这个配置:C:\ProgramData\Oracle\Java\javapath,后来在C盘中发现ProgramData这个文件夹是处于隐藏状态,然后利用文件夹选项调试出来,进入对应的目录进行查看后,发现,这是jdk1.8自动为我们配置的环境变量,然后自动添加到我们的系统环境配置中,然后,我们把我们系统环境变量中的C:\ProgramData\Oracle\Java\javapath删除之后,再进行自己配置时,就可以显示为自己的环境变量了。jdk1.8的默认将我们的设置给覆盖掉了。
path环境变量,操作系统查找可执行文件的目录.
classpath环境变量,java.exe查找class文件的目录(类文件)
2.C:\windows\System32下,还有java.exe。
问题原因:安装的jdk1.7换成1.6之后在dos命令Java -version 死活1.7问题解决
之前装的是JDK1.7,后来不能编译某些代码,要换成JDK1.6
java_home,classpath,path全部配置为JDK1.6的路径,但是在dos执行java -version,显示为JDK1.7的版本,环境变量配置找好几个看过,没有问题!
原因:
C:\windows\System32下,还有java.exe。
所以,要将 JAVA的bin目录,放在PATH的最前面。
java -version显示的是最新安装版本的java
javac -version显示的是你配置环境变量版本的java