Java环境变量系统级修改需在操作系统层面配置JAVA_HOME和PATH,Windows通过“系统属性→环境变量”设置,Linux/macOS编辑~/.bashrc或/etc/profile,修改后重启终端并用echo、java -version等命令验证。

Java 环境变量的系统级修改,本质是修改操作系统层面的环境变量(如 JAVA_HOME、PATH),不是在 Java 程序里调用 System.getenv() 或反射改 Map——那只是 JVM 内存里的只读快照,不影响系统本身。
Windows 上修改系统级 Java 环境变量
适用于 JDK 安装后首次配置,或切换不同 JDK 版本:
- 右键“此电脑” → “属性” → “高级系统设置” → “环境变量”
- 在系统变量区域操作(不是“用户变量”,否则仅当前用户生效):
- 新建变量:JAVA_HOME,值设为 JDK 安装目录(如
D:\Java\jdk-17.0.2,不含\bin) - 编辑 Path 变量,在末尾新增一行:
%JAVA_HOME%\bin - (可选)若需类库支持,再新建 CLASSPATH:
.;%JAVA_HOME%\lib
- 新建变量:JAVA_HOME,值设为 JDK 安装目录(如
- 点击“确定”全部保存,重启命令行窗口(已打开的 CMD/PowerShell 不会自动刷新)
Linux/macOS 上修改系统级 Java 环境变量
分全局(所有用户)和当前用户两种方式,推荐按需选择:
-
仅当前用户生效:编辑
~/.bashrc(Bash)或~/.zshrc(Zsh):export JAVA_HOME=/usr/lib/jvm/jdk-17.0.2<br>export PATH=$JAVA_HOME/bin:$PATH
-
所有用户生效:编辑
/etc/profile(对所有 shell 生效)或/etc/environment(仅静态变量,不支持命令扩展) - 保存后执行
source ~/.bashrc或source /etc/profile立即生效
验证是否修改成功
打开新终端,逐条运行以下命令确认:
立即学习“Java免费学习笔记(深入)”;
-
echo $JAVA_HOME(Linux/macOS)或echo %JAVA_HOME%(Windows)→ 应显示你设置的路径 -
java -version→ 显示对应 JDK 版本 -
javac -version→ 确认编译器可用 -
which java(Linux/macOS)或where java(Windows)→ 路径应落在%JAVA_HOME%\bin或$JAVA_HOME/bin下
多版本 JDK 切换时的注意事项
不建议反复删改 Path 或 PATH,推荐统一用 JAVA_HOME 中转:
- 把不同 JDK 分别解压到固定目录(如
D:\Java\jdk8、D:\Java\jdk17) - 只修改
JAVA_HOME的值,Path始终保持%JAVA_HOME%\bin - Linux/macOS 可写个简单脚本封装切换逻辑,避免手动编辑配置文件


















