Windows系统下将Java版本切换为jdk1.7.0_80的技术求助
解决Java版本切换至JDK1.7.0_80的问题
这种情况我碰到过好多次,大概率是PATH环境变量的优先级问题或者系统里藏着其他优先级更高的Java可执行文件在捣乱,按下面的步骤一步步排查就能解决:
第一步:检查PATH里的Java路径顺序
打开命令提示符(CMD),输入echo %PATH%,仔细看输出的路径列表:- 有没有JRE1.8的
bin目录?比如C:\Program Files\Java\jre1.8.x\bin - 有没有
C:\Windows\System32这个目录?
如果这两个路径出现在%JAVA_HOME%\bin的前面,系统就会优先调用它们里面的Java程序,导致你看到的还是1.8版本。
- 有没有JRE1.8的
第二步:调整PATH环境变量的优先级
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在「系统变量」里找到
PATH,点击「编辑」 - 把
%JAVA_HOME%\bin这一项移到最顶部,确保它在C:\Windows\System32和JRE1.8的bin目录之前 - 如果发现
C:\Windows\System32里有java.exe、javaw.exe、javaws.exe这些文件,先备份到其他文件夹,然后删除它们——这通常是JRE安装时自动复制过去的,优先级极高,会直接覆盖你的JAVA_HOME设置
第三步:确认JAVA_HOME的正确性
在CMD里输入echo %JAVA_HOME%,检查输出是不是准确指向JDK1.7.0_80的安装目录,比如C:\Program Files\Java\jdk1.7.0_80。如果路径不对,回到环境变量里修改JAVA_HOME的值。第四步:重启命令提示符(或系统)
环境变量修改后,旧的CMD窗口不会加载新的配置,必须关闭所有打开的CMD窗口,重新打开一个新的窗口再执行java -version。如果还是不行,重启电脑确保系统完全加载新的环境变量。第五步:验证切换结果
在新的CMD里输入两个命令:java -version:应该显示1.7.0_80javac -version:同样显示1.7.0_80(javac是JDK专属的编译工具,用它可以确认你确实调用了JDK1.7,而不是JRE)
如果还是有问题,检查一下有没有设置用户变量里的PATH或JAVA_HOME——系统变量的优先级高于用户变量,但如果用户变量里也有Java相关路径,可能会干扰,最好统一在系统变量里配置。
内容的提问来源于stack exchange,提问作者Anirban
相关产品推荐
相关产品推荐

