java、javac -version不一致(java编译及运行环境不一致)的环境变量设置问题解决

时间:2021-08-13 05:38:26

问题描述:

电脑上同时安装了JDK1.6与1.7

  设置了环境变量JAVA_HOME为jdk1.6.0_21的安装目录,并且在PATH变量中加入了%JAVA_HOME%\bin,但在Windows命令行下,执行java -version却显示:
        java version "1.7.0_75"
    而执行javac -version显示:
        javac 1.6.0_21

原因分析:
    同时安装了1.6.0_21和1.7.0_75,且PATH变量中,C:\WINDOWS\system32目录在%JAVA_HOME%\bin之前。

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

解决方法:
    将%JAVA_HOME%\bin加在PATH变量的头,执行java -version和javac -version,均为1.6.0_21版。