简介:
本教程面向需要在Windows、macOS或Linux上搭建Java开发/运行环境的电脑与手机等数码产品用户。文章以2024-2025年常见JDK(以Temurin/OpenJDK 21为例)和主流操作系统为基础,逐步说明如何正确配置JAVA_HOME、PATH、CLASSPATH等环境变量,并列出常见问题与排查方法,适合关注系统使用技巧、故障解决和实用建议的读者。

工具原料:
系统版本:
- Windows 11 23H2(含WSL2 支持)
- macOS Sonoma 14.x(Apple Silicon/Intel 均适用)
- Ubuntu 24.04 LTS / Debian 12(适用于大多数 Linux 发行版)
品牌型号:
- Apple MacBook Pro 2024(M3 Pro)
- Dell XPS 13 Plus 2024(Windows 11)
- Lenovo ThinkPad X1 Carbon Gen 12(Ubuntu 24.04 测试机)
软件版本:
- Eclipse Temurin / Adoptium JDK 21(推荐 LTS)
- OpenJDK 21 / Amazon Corretto 21(可选)
- Android Studio Flamingo 2024.1(如用于 Android 开发)
1、下载并安装 JDK:从 Adoptium(Temurin)、Oracle 或 Corretto 下载 JDK 21 的 Windows x64/x86 安装包,使用默认安装目录(建议 C:\Program Files\Java\jdk-21.x.x)。
2、通过图形界面设置环境变量(推荐新手):控制面板 → 系统 → 关于 → 高级系统设置 → 环境变量。
- 新建系统变量:变量名 JAVA_HOME,变量值填写 JDK 安装路径,例如:C:\Program Files\Java\jdk-21.0.2
- 编辑系统变量 Path,添加一项:%JAVA_HOME%\bin(注意不要在末尾添加多余分号或引号)。
3、通过 PowerShell 持久设置(自动化脚本场景):
- setx JAVA_HOME "C:\Program Files\Java\jdk-21.0.2" /M
- setx PATH "%PATH%;%JAVA_HOME%\bin" /M
(注意:setx 修改后需重新打开命令行窗口才能生效)
4、验证:
- 在 cmd 或 PowerShell 执行:java -version 和 javac -version,应返回 JDK 21 的版本信息。
- 使用 where java(Windows)确认正在使用的可执行文件路径。
1、安装 JDK:推荐使用 Temurin .pkg,或使用 Homebrew:brew install --cask temurin21。
2、Apple Silicon 注意:Homebrew 默认路径可能是 /opt/homebrew,JDK 安装位置由 /Library/Java/JavaVirtualMachines 或 /opt/homebrew/opt 指定。
3、设置环境变量(zsh 为默认 shell):在 ~/.zshrc 添加:
- export JAVA_HOME=$(/usr/libexec/java_home -v21)
- export PATH="$JAVA_HOME/bin:$PATH"
或指定固定路径:export JAVA_HOME=/Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home
4、验证:
- 执行:java -version、javac -version、which java、echo $JAVA_HOME
5、针对 Apple Silicon 开发 Android:确保 Android Studio 的 JDK 指向正确的 ARM 架构 JDK(通常 Temurin 支持)。
1、安装 JDK(APT 或 tarball):推荐使用包管理器或 apt 的 Temurin 包:sudo apt install temurin-21-jdk(需先添加 Adoptium 源)。
2、使用 update-alternatives 管理多版本:
- sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/temurin-21-jdk-amd64/bin/java 1
- sudo update-alternatives --config java (选择默认版本)
3、设置环境变量(系统级):编辑 /etc/environment,添加:
- JAVA_HOME="/usr/lib/jvm/temurin-21-jdk-amd64"
- PATH="$JAVA_HOME/bin:$PATH"
然后 source /etc/environment 或重启会话。
4、用户级设置:在 ~/.bashrc 或 ~/.profile 添加 export 语句并 source 生效。
5、验证:java -version、javac -version、which java、echo $JAVA_HOME。
正文后补充 — 背景知识与常识:
1、JAVA_HOME 与 PATH 的关系:JAVA_HOME 指向 JDK 根目录,PATH 应包含 JDK/bin。许多构建工具(Maven、Gradle、Android Studio、Tomcat)会读取 JAVA_HOME 优先决定运行时。
2、CLASSPATH 通常不建议全局设置:现代构建工具会管理类路径,手动设置 CLASSPATH 可能导致类冲突或加载错误,仅在特殊场景(老旧应用)使用。
3、JDK 与 JRE 的区别:JDK 包含编译器(javac)、工具链,适合开发;JRE 仅包含运行时。最新版分发通常只提供完整 JDK。
4、多个 JDK 共存:通过 update-alternatives(Linux)或手动修改 JAVA_HOME(Windows/macOS)来切换;也可使用 SDKMAN(mac/linux)或 jenv 管理多版本。
1、在容器化与 CI 环境中设置 JDK:Dockerfile 中采用官方 OpenJDK/Temurin 镜像(例如 eclipse-temurin:21-jdk)并在构建时明确定义 JAVA_HOME,避免依赖宿主环境的 PATH。
2、自动化工具:Windows 推荐使用 Chocolatey(choco install temurin:21),macOS 使用 Homebrew,Linux 使用 SDKMAN(curl -s "https://get.sdkman.io" | bash)来方便切换版本。
3、Apple Silicon 的兼容性:使用支持 ARM(aarch64)的 JDK 分发(Temurin 提供),并注意部分本地库或 JNI 需重编译。
4、常见故障与排查:
- “java: command not found”/“'java' 不是内部或外部命令”:检查 PATH 是否包含 JDK/bin 并重启终端;在 Windows 检查系统变量是否正确保存(setx 需要 /M 权限)。
- 版本不符导致构建失败:使用 java -version 与 javac -version 校验一致