不重启Windows使Java环境变量生效的方法咨询
不重启Windows使Java环境变量生效的方法咨询


我已经正确设置了环境变量,也把Java环境变量版本切换到了17,但当前系统运行cmd时仍然显示Java 1.8版本,我想在不重启系统的情况下让环境变量生效。
嗨,这种情况我碰到过好多次啦,完全不用重启系统就能解决,给你几个靠谱的办法:
- 关闭所有已打开的CMD窗口再重新打开:命令提示符窗口在启动的时候会一次性加载当时的环境变量,旧窗口不会自动同步更新后的设置。把所有开着的CMD都关掉,重新打开一个新的,再输入
java -version看看,应该就能读到Java 17了。 - 重启Windows资源管理器进程:有时候系统的环境变量缓存会卡在旧值上,按
Ctrl+Shift+Esc打开任务管理器,找到「Windows资源管理器」,右键点击选择「重启」。等桌面刷新完,再开新的CMD窗口检查版本就行。 - 手动刷新当前CMD窗口的环境变量(适合进阶用户):你可以写个简单的批处理文件来刷新,代码如下:
把这段代码保存成@echo off setlocal enabledelayedexpansion :: 读取系统级PATH for /f "tokens=2*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PATH') do set "system_path=%%b" :: 读取用户级PATH for /f "tokens=2*" %%a in ('reg query "HKCU\Environment" /v PATH') do set "user_path=%%b" :: 合并并设置当前窗口的PATH set "PATH=%system_path%;%user_path%" echo 环境变量已刷新,现在可以输入java -version检查啦!refresh_env.bat,在需要更新的CMD窗口里运行它,就能在当前窗口直接用新的环境变量了。
备注:内容来源于stack exchange,提问作者Douxiaohu




