Skip to content

JDK 环境变量配置

环境变量配置错了,java 命令找不到、编译报错。JAVA_HOME 和 PATH 是 Java 开发的基础,理解它们的原理才能解决各种环境问题。

核心概念

变量作用示例
JAVA_HOME指向 JDK 安装目录C:\Program Files\Java\jdk-17
PATH包含 javacjava 等命令%JAVA_HOME%\bin
CLASSPATHJDK 5+ 不再需要手动设置-
PATH 环境变量
├── C:\Windows\System32
├── %JAVA_HOME%\bin  ← javac.exe、java.exe 在这里

Windows 配置

图形界面:右键「此电脑」→「属性」→「高级系统设置」→「环境变量」,在「系统变量」中新建 JAVA_HOME,编辑 PATH 新增 %JAVA_HOME%\bin,点击「确定」保存后重启所有终端。

命令行临时生效:

cmd
set JAVA_HOME=C:\Program Files\Eclipse Adoptium\jdk-17.0.9.9-hotspot
set PATH=%JAVA_HOME%\bin;%PATH%

PowerShell 永久配置:

powershell
[Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\Program Files\Eclipse Adoptium\jdk-17.0.9.9-hotspot", "Machine")

macOS 配置

bash
vim ~/.zshrc
export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/bin:$PATH
source ~/.zshrc

$(/usr/libexec/java_home) 自动检测系统已安装的 JDK,返回最新版本路径。升级 JDK 后无需手动修改。

Linux 配置

bash
vim ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/jdk-17
export PATH=$JAVA_HOME/bin:$PATH
source ~/.bashrc

验证配置

bash
echo $JAVA_HOME
which java
java -version
which javac
javac -version

常见问题排查

java 命令找不到 — PATH 配置错误或未生效。用 which java 检查,echo $PATH 查看内容,临时修复:export PATH=/path/to/jdk/bin:$PATH

JAVA_HOME 为空或错误 — 未设置或指向错误路径。用 ls -la $JAVA_HOME 确认目录存在。

多个 JDK 版本冲突 — macOS 用 /usr/libexec/java_home -V 查看已安装版本,Linux 用 sudo update-alternatives --config java

编译和运行版本不一致 — 检查 javac -versionjava -version,确认两者来自同一 JDK。

多版本管理(SDKMAN)

bash
curl -s "https://get.sdkman.io" | bash
sdk install java 17.0.9-tem
sdk install java 21.0.2-tem
sdk use java 17.0.9-tem

快速参考

操作系统JAVA_HOME 示例
WindowsC:\Program Files\Java\jdk-17
macOS/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
Linux apt/usr/lib/jvm/java-17-openjdk-amd64
Linux 手动/usr/lib/jvm/jdk-17

基于 VitePress 构建