设置了环境变量JAVA_HOME为D:\jdk\jdk-16.0.2的安装目录,但在cmd命令行下:
执行java -version显示:
"jdk1.8.0_162"
而执行javac -version显示:
"jdk-11.0.12 "
原因:
同时安装了jdk1.8.0_162和jre1.8.0_162,且PATH变量中,C:\WINDOWS\system32目录在%JAVA_HOME%\bin之前。
![](https://img-blog.csdnimg.cn/img_convert/3f6ace854d435d656342efb9e8856ac5.png)
在Windows命令行下执行命令时,先从当前目录搜素,然后按照PATH设置的路径依次查找命令,而JRE安装时会将java.exe安装到C:\WINDOWS\system32目录下,所以执行java -version命令时,查看的是jre的版本,而javac -version时查看的jdk的版本。
方法:
![](https://img-blog.csdnimg.cn/img_convert/b932bd2f0b35b715336f79fa14bea2c1.png)
将%JAVA_HOME%\bin加在PATH变量的头,执行java -version和javac -version,均为jdk-1.8.0_162版。
![](https://img-blog.csdnimg.cn/img_convert/caa25c7004f0c16ed1524b5879ea5a39.png)
![](https://img-blog.csdnimg.cn/img_convert/57ecb107987d1bbfbaecdc411a2aade9.png)
![](https://img-blog.csdnimg.cn/img_convert/69810a99d8fd0bbf0b21e56d32a000ba.png)