您的位置:首页 > 编程语言 > Java开发

win7下关于java -version和指定JDK版本不一致问题

2018-01-09 15:57 465 查看
今天在安装Tomcat时,发现了自己电脑上奇怪的现象,就是明明自己电脑里安装的是JDK1.6版本,但是在cmd里输入java -version是却显示JDK1.8.31。

对此,我首先检查java的环境变量配置

(1)在系统变量里新建JAVA_HOME变量,变量值为:D:\JDK1.6.0(根据自己的安装路径填写)



(2)新建classpath变量,变量值为:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(特别要注意“.;”)

(3)在Path变量(已存在不用新建)添加变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin(注意变量值之间用“;”隔开)

确认之后,java和javac命令也能正常使用。感觉应该没有问题。但是此时使用java -version查看JDK的版本仍然显示1.8.31。

经过一番研究,发现问题在于Path变量,相信大家的Path变量里面也有不少东西,当时添加变量的时候将%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin补充在了最后,但是如果将%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin补充在最前,再java -version显示就是正确的了。经过不断的调整,终于发现Path变量中的C:\ProgramData\Oracle\Java\javapath和%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin的前后位置决定了java
-version显示的版本号,Path变量是按顺序加载的,先加载到的JDK决定了java -version显示的版本号,与JAVA_HOME的设置无关。

后来,又查看了C:\ProgramData\Oracle\Java\javapath文件夹里内容,果然有个java.exe等一系列东西,我想应该是我在安装oracle时安装上去的。



以上,是本人在配置环境时的一次经历,如果有人知道得更加详细、了解更加深入,还请留言多多指教。3Q。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  JDK