通过环境变量修改java版本不生效

本机依次安装了 jdk1.8、jdk1.6 和 jdk1.7 三个版本的 jdk,由于maven打包android程序最高只支持到 jdk1.7,因此需要将jdk版本该为1.7。

修改环境变量,将JAVA_HOME的目录定义为jdk1.7所在的目录。然后在命令行中执行 “java -version”,查看当前 java 版本,惊奇的发现竟然还是1.8。

通过环境变量修改java版本不生效_第1张图片

于是当即切换到 java1.7 的 bin 目录,还是执行 “java -version”,查看其版本信息,发现显示的是 java1.7,正常。

通过环境变量修改java版本不生效_第2张图片

因此怀疑是不是哪里还有 java.exe。这种东西不能只靠猜。

Windows下获取命令执行的路径用 where “cmd”
Linux下获取命令执行的路径用 whereis “cmd”

通过环境变量修改java版本不生效_第3张图片

注意:这里是按拼音顺序排的,不是按搜索的优先级顺序排的。

进入 C:\ProgramData\Oracle\Java\javapath 目录,可以看到 java.exe 文件的类型是 .symlink(符号链接类型)指向 C:\Program Files\Java\jre1.8.0_101\bin\java.exe 文件。

将其替换为jdk1.7的java.exe,发现 “java -version”,还是1.8。替换C:\Windows\System32\java.exe中的java.exe后,java版本成功变为1.7。

这说明,命令行中会优先搜索C:\Windows\System32目录下的文件。

===============2018.7.26====================

感谢 pioneer1010 的更正 —— 命令行是按环境变量定义的顺序索引的,而不是先索引系统目录!

你可能感兴趣的:(——,Java,开发工具)