Java与Javac版本不一致问题解决方案

  问题:在自己电脑上运行java -version和javac -version,发现java版本不一致,然后查看了环境变量,JAVA_HOME 是 C:\Program Files(x86)\Java\jdk1.7.0_01

但是javac -version的版本确是javac 1.7.0_25, 自己的电脑上确实是有一个路径是这个版本:C:\Program Files\Java\jdk1.7.0_25, 一时间觉得很奇怪,网上找了相关问题。

有人说是,在Path环境变量中,是本机安装Oracle软件,它在path中的配置信息放在了%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin 的前面,可是我的电脑上没有这样的配

置,至于有的说,修改注册表的信息,没有操作,不知道效果。

 

  原因分析:同时安装了jdk1.7.0_01和jre1.7.0_25,且PATH变量中,C:\WINDOWS\system32目录在%JAVA_HOME%\bin之前。在Windows命令行下执行命令时,先

从当前目录搜素,然后按照PATH设置的路径依次查找命令,而JRE安装时会将java.exe安装到C:\WINDOWS\system32目录下,所以执行java -version命令时,查看的是jre的版

本,而javac -version时查看的jdk的版本。

 

  解决方法:将%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;放在path环境变量的最前面,然后保存新的path值,关闭已打开的cmd,然后重新打开运行cmd,查看指令java -version 和 javac -version , 出现的结果将是一致的,都是jdk1.7.0_01。

posted @ 2016-03-31 21:36  无涯的风  阅读(6116)  评论(0编辑  收藏  举报