当前位置: 首页 > news >正文

从零开始: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 官方源:

  • Oracle JDK(需登录):https://www.oracle.com/java/technologies/downloads/
  • OpenJDK(推荐开源)
    • https://adoptium.net/(原 AdoptOpenJDK,强烈推荐)
    • https://jdk.java.net/(官方 OpenJDK)
    • https://corretto.aws/(Amazon Corretto)
    • https://www.azul.com/downloads/?package=jdk(Zulu JDK)

本文以 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
    • 输入:
      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 解压(高级)

# 解压到指定目录
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. 编辑配置文件:

    nano ~/.zprofile
    

    (或 nano ~/.zshrc

  3. 添加以下内容:

    # 设置 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. 使配置生效:

    source ~/.zprofile
    
  6. 验证配置

    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 包(通用方法)

# 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)

# 更新包列表
sudo apt update# 安装 OpenJDK 17
sudo apt install openjdk-17-jdk# 验证安装位置(通常在 /usr/lib/jvm/)
ls /usr/lib/jvm/
2. 配置环境变量
  1. 编辑用户级配置文件(推荐):

    nano ~/.profile
    

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

  2. 在文件末尾添加:

    # 设置 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. 使配置生效:

    source ~/.profile
    
  5. 验证配置

    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 修改权限
中文路径或空格路径含空格或特殊字符安装路径避免空格和中文

五、验证安装是否成功

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

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~/.zprofileJAVA_HOME, PATH
Linux.tar.gz / APT~/.profileJAVA_HOME, PATH

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

附录:推荐资源

  • Oracle JDK 下载
  • Eclipse Adoptium (Temurin)
  • OpenJDK 官网
  • Java 官方文档

结语

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

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

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

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

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

http://www.dtcms.com/a/342384.html

相关文章:

  • DeepSeek R2难产:近期 DeepSeek-V3.1 发布,迈向 Agent 时代的第一步
  • 《杠杆》电视剧分析学习
  • 【python与生活】如何从视频中提取关键帧?
  • JAVA-15 (2025.08.20学习记录)
  • 数据库面试常见问题
  • 【OpenGL】LearnOpenGL学习笔记13 - 深度测试、模板测试
  • 05 ODS层(Operation Data Store)
  • LeetCode算法日记 - Day 18: 只出现一次的数字、只出现一次的数字III
  • 通信工程学习:什么是Template Matching模版匹配
  • iOS 文件管理全景实战 多工具协同提升开发与调试效率
  • Python笔记 第三方库之Pandas的数据组合与缺失数据处理篇
  • 通信工程学习:什么是Camera Calibration相机标定
  • 1000qps怎么保证系统的高可用
  • abc Reachable Set
  • 基于Nodejs作为服务端,React作为前端框架,axios作为通讯框架,实现滑块验证
  • C++ 学习与 CLion 使用:(四)常量和变量,包括字面常量和符号常量
  • 计算机视觉--opencv(代码详细教程)(三)--图像形态学
  • 【框架篇二】FastAPI路由与请求处理
  • javaweb开发笔记——微头条项目开发
  • 零性能妥协:Gearbox Entertainment 通过 AWS 和 Perforce 实现远程开发革命
  • AWS EC2 实例优化检测工具:完整指南与实践
  • WSL的Ubuntu如何改名字
  • AWS Lambda 高并发场景下的错误处理与监控最佳实践
  • 06高级语言逻辑结构到汇编语言之逻辑结构转换 for (...; ...; ...)
  • 一款更适合 SpringBoot 的API文档新选择(Spring Boot 应用 API 文档)
  • 数据结构:构建一棵AVL树需要多少节点(Height VS Nodes in AVL Trees)
  • Claude Code 已支持【团队版】和【企业版】订阅
  • 解析 C 语言整数类型:超越命名的长度奥秘
  • SWMM排水管网水力、水质建模及海绵城市与水环境中的应用
  • 7. if 条件语句的知识与实践