安装 JDK 与配置环境变量
本教程共 100 篇 · 第 4 篇 · 更新于 2026-08-05 · 约 5 分钟阅读
本节目标:在自己的电脑上装好 Java 25 LTS,配置
JAVA_HOME和PATH,并能在任意目录下敲出java -version。
装哪个 JDK:先做两个选择
打开下载页面前,先想清楚两件事。
第一,选发行版。 Java 是开源的,除了 Oracle 官方版本,还有多家基于 OpenJDK 的免费发行版:
| 发行版 | 提供方 | 说明 |
|---|---|---|
| Oracle JDK | Oracle | 官方版本,采用 NFTC 许可 |
| Eclipse Temurin | Adoptium 社区 | 使用最广的开源发行版 |
| Amazon Corretto | Amazon | 免费,长期支持 |
| Azul Zulu | Azul | 免费社区版可用 |
| Microsoft Build of OpenJDK | Microsoft | 对 Windows 支持友好 |
这些发行版都通过了官方兼容性测试,语法和标准类库完全一致,学习阶段随便挑一个就行。
差别主要在商业授权条款和长期支持年限上。个人学习不涉及这些,直接从 Oracle 官网或 Adoptium 下载都可以。
第二,选架构。 看你的 CPU:
- Intel / AMD 芯片 → 选 x64
- Apple 芯片(M 系列)、部分 Linux 服务器 → 选 aarch64(也写作 ARM64)
选错架构装不上,或者装上跑不动。
Tip不确定自己是哪种?Windows 在「设置 → 系统 → 系统信息」里看;macOS 点左上角苹果标 →「关于本机」;Linux 敲
uname -m,输出x86_64就是 x64,aarch64就是 ARM64。
Windows 安装
- 下载 x64 MSI Installer(后缀
.msi),这是 Windows 上最省事的方式。 - 双击运行,一路「下一步」。默认安装路径类似
C:\Program Files\Java\jdk-25。 - 记住这个路径,下一步配环境变量要用。
装完先别急着关窗口,接着配环境变量。
配置 JAVA_HOME 和 PATH
在开始菜单搜「环境变量」,打开「编辑系统环境变量」→「环境变量」按钮。
新建系统变量 JAVA_HOME:
变量名:JAVA_HOME
变量值:C:\Program Files\Java\jdk-25
注意值是安装目录本身,不是里面的 bin。
编辑 Path 变量,新增一条:
%JAVA_HOME%\bin
把这一条移到列表最上面。多个 JDK 共存时,谁在前面谁生效。
点确定保存。
Warning环境变量改完,已经打开的命令行窗口不会自动生效。必须关掉重开一个新的 PowerShell 或 CMD。这是初学者最常见的「明明配了却说找不到」的原因。
macOS 安装
下载对应架构的 .pkg 安装包,双击安装,系统会自动放到标准位置。
macOS 自带一个查询工具,能列出所有已安装的 JDK:
/usr/libexec/java_home -V
配置环境变量。先确认你用的是哪个 shell:
echo $SHELL
输出 /bin/zsh 就编辑 ~/.zshrc,输出 /bin/bash 就编辑 ~/.bash_profile。
在文件末尾加两行:
export JAVA_HOME=$(/usr/libexec/java_home -v 25)
export PATH=$JAVA_HOME/bin:$PATH
保存后让配置立刻生效:
source ~/.zshrc
java_home -v 25 会自动定位 Java 25 的安装路径,比手写路径可靠。
Linux 安装
Linux 有两条路。
路线一:用包管理器(省事,但版本可能不是最新)。
Debian / Ubuntu 系:
sudo apt update
sudo apt install openjdk-25-jdk
Fedora / RHEL 系:
sudo dnf install java-25-openjdk-devel
路线二:下载压缩包手动解压(版本可控,推荐):
sudo tar -zxvf jdk-25_linux-x64_bin.tar.gz -C /opt/ # 解压到 /opt 目录
ls /opt # 确认解压后的目录名
然后编辑 ~/.bashrc(或 ~/.zshrc),加上:
export JAVA_HOME=/opt/jdk-25
export PATH=$JAVA_HOME/bin:$PATH
生效:
source ~/.bashrc
验证安装
不管哪个系统,开一个新终端,敲这两条命令:
java -version
javac -version
正常输出长这样:
java version "25" 2025-09-16 LTS
Java(TM) SE Runtime Environment (build 25+36-LTS-3489)
Java HotSpot(TM) 64-Bit Server VM (build 25+36-LTS-3489, mixed mode)
javac 25
两条都能正常显示版本号,环境就算配好了。
再试一个更直观的——启动 jshell,Java 自带的交互式命令行:
jshell
进去后随便敲一行:
System.out.println(1 + 2 * 3)
看到 7 就说明一切正常。输入 /exit 退出。
Tip
jshell是 Java 9 引入的。以后想试某个语法记不清效果,开jshell敲一行比新建文件快得多。
认识一下 JDK 目录
装完之后进 JAVA_HOME 目录看看,里面的结构是这样:
jdk-25/
├── bin/ 各种命令行工具(java、javac、jar、jshell ...)
├── conf/ 配置文件(日志、安全策略、网络)
├── include/ C 头文件,写 JNI 本地方法时用
├── jmods/ 模块化的标准库,jlink 裁剪运行时时用
├── legal/ 许可证文本
└── lib/ 运行时依赖,包括核心的 modules 镜像文件
真正天天打交道的只有 bin。把它加进 PATH,就是为了在任意目录下都能直接敲 java 和 javac。
不加也能用,只是每次要写全路径,像这样:
"C:\Program Files\Java\jdk-25\bin\javac" Hello.java
写一次就知道为什么要配 PATH 了。
常见问题排查
提示「不是内部或外部命令」/ command not found
系统没找到 java。按顺序检查:
- 终端是不是改完环境变量后新开的?(最高频原因)
JAVA_HOME的值是不是写成了bin目录?应该到jdk-25这一层为止。PATH里加的是%JAVA_HOME%\bin(Windows)或$JAVA_HOME/bin(macOS/Linux)吗?- 路径有拼写错误吗?直接把路径粘到文件管理器里试试能不能打开。
版本号不是 25
说明机器上有多个 JDK,默认走的不是你刚装的那个。
Windows 检查 Path 里 %JAVA_HOME%\bin 的位置,把它拖到最前面。
macOS / Linux 用 which java 看实际调用的是哪一个:
which java
如果指向的不是 $JAVA_HOME/bin/java,说明 PATH 里有更靠前的条目在抢。
编译中文注释报「编码 GBK 的不可映射字符」
Windows 默认编码不是 UTF-8 导致的。编译时显式指定:
javac -encoding UTF-8 Hello.java
更彻底的做法是把源文件和终端都统一成 UTF-8,后面用 IDE 时会一次性解决。
安装路径带空格
C:\Program Files\Java\jdk-25 里有空格。多数情况没问题,但个别老工具会解析出错。
真遇到问题,可以把 JDK 装到 C:\Java\jdk-25 这类无空格路径下。
进阶:用版本管理工具切换多个 JDK
同时维护老项目(Java 8)和新项目(Java 25 LTS)时,手动改环境变量很烦。
macOS / Linux 可以用 SDKMAN!:
curl -s "https://get.sdkman.io" | bash # 安装 SDKMAN!
sdk list java # 列出可用的 JDK
sdk install java 25-tem # 下载指定版本
sdk use java 25-tem # 当前终端切到该版本
一条命令切版本,比翻环境变量对话框舒服很多。
初学阶段用不上,知道有这么个东西就行。
小结
学习阶段任选一个 JDK 25 发行版,注意按 CPU 选对 x64 或 aarch64。
JAVA_HOME 指向 JDK 安装目录本身,PATH 里追加它的 bin 子目录。
改完环境变量必须开新终端,java -version 和 javac -version 都正常才算成功。
版本号不对通常是多 JDK 共存,把目标 JDK 的 bin 提到 PATH 最前面即可。