描述:电脑上有两个版本的jdk 路径分别为D:\软件安装\ideaIU\jdk-11.0.6 和C:\Program Files\Java\jdk-16.0.2,现在在环境变量里面配了 “JAVA_HOME”为“D:\软件安装\ideaIU\jdk-11.0.6”,并且在path中也配置了;%JAVA_HOME\bin;%JAVA_HOME\jre64\bin;
问题:我在命令提示符中 输入 java -version 出现的是 “16.0.2”的版本?这是为什么?按我理解不是应该出现11.0.6么?
16版本的有没有配置用户变量,或者你执行命令是不是在16版本bin目录下。
你的开发工具是什么呢?是不是在开发工具配置了别的版本。
出现这种情况可能有两个原因
第一个原因就是java -version 你是在jdk-16.0.2的安装目录下的bin目录执行的命令,就是cmd显示的位置在16版本的bin目录下
第二个原因就是,你也配置了16版本的环境变量,只不过11版本你配置到了系统变量,而16版本你却配置到了用户变量,一般用户变量的优先级要高于系统变量,你仔细检查一下
%JAVA_HOME%\bin;%JAVA_HOME%\jre64\bin
安装版的jdk,安装的时候会复制java.exe和javaw.exe放到c:/windows/system32目录里去, c:/windows/system32 在环境变量中优先级比较高,不会受你环境变量的影响,不信的话可以cmd里,执行命令
where java
看看第一个是不是system32下的, 是的话,直接删除system32下的java javaw就行了