环境变量jdk版本与java -version显示不一致



问题描述:

今天遇到一个小bug,我电脑环境变量配置的版本是jdk1.8,但是当我cmd 使用java -version检测jdk版本的时候,它显示的是1.6,而且,无论我如何修改环境变量,cmd检测出来的jdk版本都是1.6版本。

经过长达不到1小时的时间,通过各种方法和尝试,终于发现问题所在。

问题产生原因:

1.Path环境变量配置了Oracle

如果电脑上安装了oracle的,如果是的话,你查看path中所有的配置,

你会发现oracle的jdk1.6的配置在jdk1.8的配置之前,

环境变量jdk版本与java -version显示不一致

解决方案: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

上一篇:Java之安装JDK


下一篇:linux: 安装jdk(java)