问题描述:
设置了环境变量JAVA_HOME为jdk1.7.0_80的安装目录,并且在PATH变量中加入了%JAVA_HOME%\bin
在window 的dos命令下显示:
C:\Users\Administrator>java -version
java version “1.8.0_91”
Java(TM) SE Runtime Environment (build 1.8.0_91-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b15, mixed mode)
C:\Users\Administrator>javac -version
javac 1.7.0_80
原因分析:
同时安装了jdk1.7.0_80和jre1.8.0_91,且PATH变量中,C:\WINDOWS\system32目录在%JAVA_HOME%\bin之前。在Windows命令行下执行命令时,先从当前目录搜索,然后按照PATH设置的路径依次查找命令,而JRE安装时会将java.exe安装到C:\WINDOWS\system32目录下,所以执行java -version命令时,查看的是jre的版本,而javac -version时查看的jdk的版本。把C:\WINDOWS\system32\java.exe,javaw.exe,javaws.exe删除了
再敲命令,显示一样:
C:\Users\Administrator>java -version
java version “1.7.0_80”
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
C:\Users\Administrator>javac -version
javac 1.7.0_80