从零开始:JDK 在 Windows、macOS 和 Linux 上的下载、安装与环境变量配置

前言

在进入 Java 世界之前,搭建一个稳定、可用的开发环境是每个开发者必须迈过的第一道门槛。JDK(Java Development Kit)作为 Java 程序开发的核心工具包,其正确安装与环境变量配置直接关系到后续编译、运行、调试等所有开发流程的顺利进行。

然而,对于初学者而言,面对 Windows、macOS、Linux 三大不同操作系统,JDK 的安装方式和环境变量配置方法各不相同,容易产生困惑。本文旨在提供一份全面、清晰、可操作性强的跨平台 JDK 安装配置指南,帮助你无论使用哪种操作系统,都能快速、准确地完成 JDK 的部署,为你的 Java 学习和开发之路打下坚实基础。

本文以当前广泛使用的长期支持版本 JDK 17 为例,详细演示从下载到验证的每一步操作,力求做到"手把手教学",确保零基础用户也能顺利完成配置。


一、什么是 JDK?

JDK(Java Development Kit)是 Java 开发工具包,包含:

  • javac:Java 编译器
  • java:Java 运行时
  • javadoc:文档生成工具
  • jdb:调试工具
  • 核心类库(rt.jar 等)

只有正确安装并配置环境变量后,你才能在命令行中使用这些工具。

本文更新时间:2025 年 8 月 21 日

适用 JDK 版本:以 JDK 17(LTS 长期支持版本)为例,适用于 JDK 8、11、17、21 等主流版本。

二、JDK 下载

1. 官方下载地址

推荐使用 Oracle 或 OpenJDK 官方源:

本文以 Eclipse Adoptium(Temurin) 提供的 OpenJDK 17 为例,免费、开源、跨平台。

2. 选择版本

进入 https://adoptium.net/ 后:

  1. 选择 Temurin 17(LTS)
  2. 选择你的操作系统(Windows/macOS/Linux)
  3. 选择架构:通常为 x64(64 位)
  4. 下载格式:
    • Windows:.msi(推荐)或 .zip
    • macOS:.pkg(推荐)或 .tar.gz
    • Linux:.tar.gz.rpm/.deb

三、各平台安装与配置

Windows 系统(以 Windows 10/11 为例)

1. 安装 JDK

方式一:使用 .msi 安装包(推荐新手)

  1. 双击下载的 .msi 文件(如 OpenJDK17U-jdk_x64_windows_hotspot_17.0.10_7.msi
  2. 点击 Next,接受协议
  3. 选择安装路径(建议:C:\Program Files\Eclipse Adoptium\jdk-17.0.10.7-hotspot
  4. 点击 Install,等待安装完成
  5. 安装完成后点击 Finish

.msi 安装包会自动配置部分环境变量,但仍建议手动检查。

方式二:使用 .zip 解压版(高级用户)

  1. 解压到指定目录,如 C:\Java\jdk-17
  2. 不自动配置环境变量,需手动设置
2. 配置环境变量(关键步骤)
  1. 打开环境变量设置

    • Win + R,输入 sysdm.cpl,回车
    • 或:右键"此电脑" → "属性" → "高级系统设置" → "环境变量"
  2. 新建系统变量 JAVA_HOME

    • 变量名:JAVA_HOME
    • 变量值:JDK 安装路径(如 C:\Program Files\Eclipse Adoptium\jdk-17.0.10.7-hotspot
    • 路径不要包含 bin 目录!
  3. 编辑 Path 变量

    • 在"系统变量"中找到 Path,点击"编辑"

    • 点击"新建",添加:

      复制代码
      %JAVA_HOME%\bin
    • (可选)添加 JRE 路径(如果需要):

      复制代码
      %JAVA_HOME%\jre\bin
  4. 验证配置

    • 打开 CMD(命令提示符)或 PowerShell

    • 输入:

      bash 复制代码
      java -version
      javac -version
      echo %JAVA_HOME%
    • 正常输出表示配置成功。

若提示"不是内部或外部命令",请检查 Path 是否包含 %JAVA_HOME%\bin,并重启 CMD。

macOS 系统(以 macOS Sonoma 为例)

1. 安装 JDK

方式一:使用 .pkg 安装包(推荐)

  1. 双击 .pkg 文件(如 OpenJDK17U-jdk_x64_mac_hotspot_17.0.10_7.pkg
  2. 按照向导点击"继续",输入管理员密码
  3. 安装路径默认为:/Library/Java/JavaVirtualMachines/temurin-17.jdk

方式二:使用 .tar.gz 解压(高级)

bash 复制代码
# 解压到指定目录
sudo mkdir -p /Library/Java/JavaVirtualMachines
sudo tar -xzf OpenJDK17U-jdk_x64_mac_hotspot_*.tar.gz -C /Library/Java/JavaVirtualMachines/
2. 配置环境变量

macOS 使用 zsh 作为默认 shell(macOS Catalina 及以后),配置文件为 ~/.zprofile~/.zshrc

  1. 打开终端(Terminal)

  2. 编辑配置文件:

    bash 复制代码
    nano ~/.zprofile

    (或 nano ~/.zshrc

  3. 添加以下内容:

    bash 复制代码
    # 设置 JAVA_HOME
    export JAVA_HOME=$(/usr/libexec/java_home -v 17)
    
    # 将 JDK 的 bin 目录加入 PATH
    export PATH=$JAVA_HOME/bin:$PATH
    
    # (可选)设置 JAVA_HOME 为固定路径(不推荐多版本时)
    # export JAVA_HOME="/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home"

    使用 /usr/libexec/java_home -v 17 可自动定位 JDK 17,适合多版本共存。

  4. 保存并退出:

    • Ctrl + O → 回车(保存)
    • Ctrl + X(退出)
  5. 使配置生效:

    bash 复制代码
    source ~/.zprofile
  6. 验证配置

    bash 复制代码
    java -version
    javac -version
    echo $JAVA_HOME

    输出应类似:

    复制代码
    openjdk version "17.0.10" 2025-04-15
    OpenJDK Runtime Environment Temurin-17.0.10+7 (build 17.0.10+7)
    OpenJDK 64-Bit Server VM Temurin-17.0.10+7 (build 17.0.10+7, mixed mode)

若使用旧版 macOS(bash shell),请编辑 ~/.bash_profile

Linux 系统(以 Ubuntu/Debian 为例)

1. 安装 JDK

方式一:使用 .tar.gz 包(通用方法)

bash 复制代码
# 1. 下载 OpenJDK 17
wget https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.10%2B7/OpenJDK17U-jdk_x64_linux_hotspot_17.0.10_7.tar.gz

# 2. 解压到 /opt(需要管理员权限)
sudo tar -xzf OpenJDK17U-jdk_x64_linux_hotspot_*.tar.gz -C /opt/

# 3. 重命名(可选)
sudo mv /opt/jdk-17.0.10.7-hotspot /opt/jdk17

方式二:使用 APT 包管理器(Ubuntu/Debian)

bash 复制代码
# 更新包列表
sudo apt update

# 安装 OpenJDK 17
sudo apt install openjdk-17-jdk

# 验证安装位置(通常在 /usr/lib/jvm/)
ls /usr/lib/jvm/
2. 配置环境变量
  1. 编辑用户级配置文件(推荐):

    bash 复制代码
    nano ~/.profile

    (或 ~/.bashrc,但 .profile 更通用)

  2. 在文件末尾添加:

    bash 复制代码
    # 设置 JAVA_HOME(根据实际路径修改)
    export JAVA_HOME=/opt/jdk17
    # 或使用 APT 安装的路径:
    # export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
    
    # 添加到 PATH
    export PATH=$JAVA_HOME/bin:$PATH
    
    # (可选)设置 JAVA_HOME 全局可用
    export JRE_HOME=$JAVA_HOME/jre
  3. 保存并退出(Ctrl+O, Enter, Ctrl+X

  4. 使配置生效:

    bash 复制代码
    source ~/.profile
  5. 验证配置

    bash 复制代码
    java -version
    javac -version
    echo $JAVA_HOME

    输出应显示 Java 17 版本信息。

若需系统级配置,可编辑 /etc/environment/etc/profile.d/java.sh

四、常见问题与解决方案

问题 原因 解决方案
javajavac 不是命令 PATH 未包含 bin 目录 检查 PATH 是否包含 %JAVA_HOME%\bin$JAVA_HOME/bin
JAVA_HOME 未定义 环境变量未设置 手动添加 JAVA_HOME 并重启终端
多版本冲突 多个 JDK 同时存在 使用 update-alternatives(Linux)或手动切换 JAVA_HOME
权限不足(Linux/macOS) 解压目录权限问题 使用 sudochown 修改权限
中文路径或空格 路径含空格或特殊字符 安装路径避免空格和中文

五、验证安装是否成功

无论哪个平台,运行以下命令:

bash 复制代码
java -version
javac -version
echo $JAVA_HOME      # Linux/macOS
echo %JAVA_HOME%     # Windows

输出应包含你安装的 JDK 版本(如 17.0.10)。

六、多版本 JDK 管理建议

  • Windows :通过修改 JAVA_HOMEPath 切换
  • macOS :使用 /usr/libexec/java_home -V 查看所有版本,通过 -v 11-v 17 切换
  • Linux :使用 update-alternatives 命令管理多个 JDK

七、总结

操作系统 安装方式 环境变量文件 关键变量
Windows .msi / .zip 系统环境变量 JAVA_HOME, Path
macOS .pkg / .tar.gz ~/.zprofile JAVA_HOME, PATH
Linux .tar.gz / APT ~/.profile JAVA_HOME, PATH

只要按照本文步骤操作,你一定能成功配置 JDK 开发环境!

附录:推荐资源


结语

至此,我们已经完整地走过了在 Windows、macOS 和 Linux 三大主流操作系统上下载、安装和配置 JDK 的全过程。虽然不同系统的操作细节略有差异,但核心思路是一致的:找到 JDK 安装位置,设置 JAVA_HOME 指向该位置,并将 bin 目录添加到系统的 PATH 环境变量中

环境搭建看似是入门的第一步,实则至关重要。一个配置正确的 JDK 环境,是你后续学习 Java 基础语法、面向对象编程、使用 IDE(如 IntelliJ IDEA、Eclipse)、构建项目(Maven/Gradle)乃至进行企业级开发的基石。

希望这篇详尽的指南能够帮助你顺利解决环境配置问题,少走弯路。现在,你可以自信地打开终端或命令提示符,输入 java -version,看到熟悉的版本信息,然后满怀期待地编写你的第一个 Java 程序:

java 复制代码
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, Java World!");
    }
}

祝你在 Java 的学习和开发之旅中一切顺利!如果有任何疑问,欢迎随时交流。

相关推荐
我崽不熬夜7 分钟前
掌握Java中的数组与集合:如何灵活处理不同的数据结构?
java·后端·java ee
_码农1213828 分钟前
模拟tomcat接收GET、POST请求
java·tomcat
源代码杀手2 小时前
大模型微调训练资源占用查询:Windows 10 查看 NVIDIA 显卡GPU状态教程(替代 Ubuntu 下 watch nvidia-smi)
linux·windows·ubuntu
板板正2 小时前
SpringAI——向量存储(vector store)
java·spring boot·ai
野生技术架构师2 小时前
Spring Boot 定时任务与 xxl-job 灵活切换方案
java·spring boot·后端
苹果醋33 小时前
Java并发编程-Java内存模型(JMM)
java·运维·spring boot·mysql·nginx
你怎么知道我是队长3 小时前
C语言---编译的最小单位---令牌(Token)
java·c语言·前端
Elieal3 小时前
Java 链表完全指南:从基础到力扣简单题实战
java·leetcode·链表
寒士obj4 小时前
SpringBoot中的条件注解
java·spring boot·后端
pengzhuofan4 小时前
Java设计模式-外观模式
java·设计模式·外观模式