1878 字
约 6 分钟
1
如何安装 JDK 并配置环境变量(Windows / macOS / Linux 全平台教程)

如何安装 JDK 并配置环境变量(Windows / macOS / Linux 全平台教程)

刚开始学 Java,第一步几乎都是同一件事:把 JDK 装好,再把环境变量配通。这一步做错,后面 javac 找不到、IDE 识别不到、Maven 报 JAVA_HOME 缺失,都会反复踩坑。

这篇文章按「选版本 → 安装 → 配环境变量 → 验证 → 排错」写完,覆盖 Windows、macOS、Linux。你可以按自己的系统直接跳到对应章节。

先搞清楚三个概念

  • JVM:Java 虚拟机,真正跑字节码的地方。
  • JRE:运行环境,包含 JVM 和运行时库。只运行程序通常够用。
  • JDK:开发工具包,包含 JRE,再加上 javacjarjlink 等编译和打包工具。

写代码、跑 Maven/Gradle、用 IntelliJ IDEA 开发,都应该装 JDK,不要只装 JRE。

该装哪个版本

优先选 LTS(长期支持)版本

版本 定位 建议
JDK 8 大量存量项目 维护老系统时再装
JDK 11 过渡 LTS 公司指定再用
JDK 17 当前主流 LTS 学习和大多数新项目首选
JDK 21 新一代 LTS 新项目可以直接上

个人学习和新项目,推荐 JDK 17 或 JDK 21。版本号可以并存,后面会讲多版本切换。

发行版怎么选:

  • Eclipse Temurin(Adoptium):免费、稳定、跨平台,最推荐给新手。
  • Oracle JDK:功能和 Temurin 基本等价,注意许可证。
  • Amazon Corretto / Microsoft Build of OpenJDK / Azul Zulu:云厂商或特定场景常用。
  • GraalVM:需要原生镜像时再考虑,不作为第一套开发环境。

下面以 Temurin JDK 17 为例,其他发行版步骤几乎一样。

Windows:安装并配置环境变量

1. 下载安装包

  1. 打开 Adoptium Temurin 或你选定的发行版官网。
  2. 选择:
    • Version:17 - LTS21 - LTS
    • Operating System:Windows
    • Architecture:64 位机器选 x64;ARM 电脑选 aarch64
    • Package Type:JDK
  3. 下载 .msi 安装包(推荐)或 .zip 免安装包。

2. 用 MSI 安装

双击安装包,建议勾选:

  • Set JAVA_HOME variable
  • Add to PATH
  • JavaSoft (Oracle) registry keys(部分 IDE / 工具会读注册表)

安装路径建议保持默认,例如:

C:\Program Files\Eclipse Adoptium\jdk-17.x.x-hotspot\

路径里尽量不要有中文;如果手动解压 zip,目录名用纯英文。

3. 手动配置环境变量(MSI 没勾选时必做)

  1. 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」。
  2. 系统变量 中新建:
    • 变量名:JAVA_HOME
    • 变量值:JDK 根目录,例如 C:\Program Files\Eclipse Adoptium\jdk-17.0.12+7-hotspot
  3. 编辑系统变量 Path,新增(顺序建议靠前):
    • %JAVA_HOME%\bin
  4. 全部点「确定」保存。已打开的 CMD / PowerShell 不会自动刷新,必须新开窗口。

注意:

  • JAVA_HOME 指向 JDK 根目录,不要指向 bin
  • Path 里加的是 %JAVA_HOME%\bin,不要把整段 JDK 根目录丢进 Path。
  • 如果以前装过 Java 8,把旧的 C:\Program Files\Java\jdk1.8.0_xxx\bin 从 Path 里删掉或移到后面,避免抢优先级。

4. 验证

新开 CMD 或 PowerShell:

java -version
javac -version
echo %JAVA_HOME%
where java

成功时大致是:

openjdk version "17.0.12" 2024-07-16
OpenJDK Runtime Environment Temurin-17.0.12+7 (build 17.0.12+7)
OpenJDK 64-Bit Server VM Temurin-17.0.12+7 (build 17.0.12+7, mixed mode, sharing)

where java 应指向 %JAVA_HOME%\bin\java.exe。如果先弹出 C:\Windows\System32\java.exeC:\Program Files\Common Files\Oracle\Java\javapath,说明旧路径还在 Path 前面,把它删掉或后移。

macOS:安装并配置环境变量

macOS 推荐两种方式:Homebrew,或直接装官方 pkg。

方式一:Homebrew(推荐)

brew install --cask temurin@17
# 或
brew install --cask temurin@21

查看已安装 JDK:

/usr/libexec/java_home -V

会列出类似:

17.0.12 (arm64) "Eclipse Adoptium" - "OpenJDK 17.0.12" /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home

方式二:pkg 安装包

从 Adoptium 下载 macOS 的 .pkg,按向导安装。默认路径:

/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home

配置 JAVA_HOME

zsh 用户编辑 ~/.zshrc,bash 用户编辑 ~/.bash_profile

export JAVA_HOME=$(/usr/libexec/java_home -v 17)
export PATH="$JAVA_HOME/bin:$PATH"

指定 21:

export JAVA_HOME=$(/usr/libexec/java_home -v 21)

然后:

source ~/.zshrc
java -version
javac -version
echo $JAVA_HOME
which java

Apple Silicon(M 系列)优先装 aarch64 版本,不要强行用 x64 + Rosetta,除非依赖必须如此。

Linux:安装并配置环境变量

以 Ubuntu / Debian 为例,CentOS / Fedora 把 apt 换成对应包管理器即可。

方式一:包管理器

sudo apt update
sudo apt install temurin-17-jdk
# 或 openjdk
sudo apt install openjdk-17-jdk

查看:

update-alternatives --list java
sudo update-alternatives --config java

方式二:手动解压(更可控)

sudo mkdir -p /usr/lib/jvm
sudo tar -xzf OpenJDK17U-jdk_x64_linux_hotspot_*.tar.gz -C /usr/lib/jvm

编辑 ~/.bashrc/etc/profile.d/java.sh

export JAVA_HOME=/usr/lib/jvm/jdk-17.0.12+7
export PATH="$JAVA_HOME/bin:$PATH"
source ~/.bashrc
java -version
javac -version
echo $JAVA_HOME

JAVA_HOME 同样指向 JDK 根目录,里面应能看到 binlibinclude

多版本共存怎么切

开发中经常要在 8 / 17 / 21 之间切换。

Windows

准备多个 JDK 目录,只改 JAVA_HOME 指向当前要用的根目录,Path 继续用 %JAVA_HOME%\bin。不要在 Path 里写死某个版本的绝对路径。

也可以用 SDKMAN 的 Windows 支持,或 jEnv 类工具;团队机器上「只改 JAVA_HOME」最稳。

macOS / Linux:SDKMAN(强烈推荐)

curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"

sdk list java
sdk install java 17.0.12-tem
sdk install java 21.0.4-tem
sdk default java 17.0.12-tem
sdk use java 21.0.4-tem

SDKMAN 会自动维护 JAVA_HOMEPATH,比手改配置文件省心。

macOS 临时切换也可以:

export JAVA_HOME=$(/usr/libexec/java_home -v 21)

IDE 里还要再选一次 JDK

环境变量只管命令行。IntelliJ IDEA / VS Code / Eclipse 有自己的项目 SDK:

  • IntelliJ IDEA:SettingsBuild, Execution, DeploymentBuild Tools / Project StructureProject SDK,指向刚才的 JDK Home。
  • VS Code(Extension Pack for Java):java.configuration.runtimes 或命令面板 Java: Configure Java Runtime
  • Maven / Gradle 也要确认用的是同一套 JDK,避免「终端是 17、IDE 是 8」。

常见问题

1. java 能用,javac 不能用

只装了 JRE,或 Path 只指到 JRE。改成 JDK,并保证 %JAVA_HOME%\bin 在 Path 中。

2. 改了环境变量却没生效

  • Windows 必须新开终端。
  • 改的是用户变量,但当前窗口继承的是旧系统变量,重启终端或注销再试。
  • macOS / Linux 改错了文件:zsh 要改 ~/.zshrc,不是 ~/.bashrc

3. JAVA_HOME 指向了 bin

错误:

JAVA_HOME=C:\Program Files\Eclipse Adoptium\jdk-17\bin

正确:

JAVA_HOME=C:\Program Files\Eclipse Adoptium\jdk-17

Maven、Tomcat、部分构建脚本都假设 JAVA_HOME/bin/java 存在。

4. 多个 java 抢优先级

Windows 上 Oracle 安装器常塞入:

C:\Program Files\Common Files\Oracle\Java\javapath

把它从 Path 删除或移到 %JAVA_HOME%\bin 后面,再用 where java 确认顺序。

5. 权限或路径空格

公司电脑把 JDK 装在 D:\Program Files\Java 17 这类带空格目录通常没问题,但脚本没加引号会炸。更稳妥的做法是:

D:\dev\jdk-17

最小检查清单

装完后,这 4 条都通过再去建项目:

  1. java -version 输出版本符合预期。
  2. javac -version 能出来,且和 java 主版本一致。
  3. echo JAVA_HOME(Windows 用 %JAVA_HOME%)指向 JDK 根目录。
  4. IDE 的 Project SDK 与命令行是同一套。

小结

安装 JDK 并不难,真正容易错的是三件事:装成了 JRE、JAVA_HOME 指错目录、Path 里旧版本排在前面。选一个 LTS(17 或 21),用 Temurin 或 SDKMAN 装好,配上 JAVA_HOME + bin,再用 java / javac / where/which 验证一遍,开发环境就算站住了。

下一步可以继续装 Maven 或 Gradle,并用 IDE 创建一个 Hello World 项目做冒烟测试。

如何安装 JDK 并配置环境变量(Windows / macOS / Linux 全平台教程)
http://clxhxhhr.top/posts/318/
作者
clxstart
发布于
2026-08-21
许可协议
CC BY-NC-SA 4.0
评论
0 条
还没有评论,先写一条吧。