首页 / Java 入门教程 / 安装 JDK 与配置环境变量

Java 入门教程

安装 JDK 与配置环境变量

本教程共 100 篇 · 第 4 篇 · 更新于 2026-08-05 · 约 5 分钟阅读

JavaJava 入门教程JDK 安装JAVA_HOME环境变量开发环境

本节目标:在自己的电脑上装好 Java 25 LTS,配置 JAVA_HOMEPATH,并能在任意目录下敲出 java -version

装哪个 JDK:先做两个选择

打开下载页面前,先想清楚两件事。

第一,选发行版。 Java 是开源的,除了 Oracle 官方版本,还有多家基于 OpenJDK 的免费发行版:

发行版提供方说明
Oracle JDKOracle官方版本,采用 NFTC 许可
Eclipse TemurinAdoptium 社区使用最广的开源发行版
Amazon CorrettoAmazon免费,长期支持
Azul ZuluAzul免费社区版可用
Microsoft Build of OpenJDKMicrosoft对 Windows 支持友好

这些发行版都通过了官方兼容性测试,语法和标准类库完全一致,学习阶段随便挑一个就行。

差别主要在商业授权条款和长期支持年限上。个人学习不涉及这些,直接从 Oracle 官网或 Adoptium 下载都可以。

第二,选架构。 看你的 CPU:

  • Intel / AMD 芯片 → 选 x64
  • Apple 芯片(M 系列)、部分 Linux 服务器 → 选 aarch64(也写作 ARM64)

选错架构装不上,或者装上跑不动。

Tip

不确定自己是哪种?Windows 在「设置 → 系统 → 系统信息」里看;macOS 点左上角苹果标 →「关于本机」;Linux 敲 uname -m,输出 x86_64 就是 x64,aarch64 就是 ARM64。

Windows 安装

  1. 下载 x64 MSI Installer(后缀 .msi),这是 Windows 上最省事的方式。
  2. 双击运行,一路「下一步」。默认安装路径类似 C:\Program Files\Java\jdk-25
  3. 记住这个路径,下一步配环境变量要用。

装完先别急着关窗口,接着配环境变量。

配置 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,就是为了在任意目录下都能直接敲 javajavac

不加也能用,只是每次要写全路径,像这样:

"C:\Program Files\Java\jdk-25\bin\javac" Hello.java

写一次就知道为什么要配 PATH 了。

常见问题排查

提示「不是内部或外部命令」/ command not found

系统没找到 java。按顺序检查:

  1. 终端是不是改完环境变量后新开的?(最高频原因)
  2. JAVA_HOME 的值是不是写成了 bin 目录?应该到 jdk-25 这一层为止。
  3. PATH 里加的是 %JAVA_HOME%\bin(Windows)或 $JAVA_HOME/bin(macOS/Linux)吗?
  4. 路径有拼写错误吗?直接把路径粘到文件管理器里试试能不能打开。

版本号不是 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 -versionjavac -version 都正常才算成功。

版本号不对通常是多 JDK 共存,把目标 JDK 的 bin 提到 PATH 最前面即可。