如何下载和安装JDK (最新版) – wiki基地


权威指南:下载与安装最新版JDK(Java Development Kit)的详尽步骤

前言

Java,作为一门拥有数十年历史、应用极为广泛的常青编程语言,支撑着从大型企业级应用、Android移动开发到大数据处理、云计算等众多领域的关键系统。对于任何希望涉足Java开发、学习Java技术或者运行特定Java应用程序的人来说,第一步往往是正确安装Java开发工具包(Java Development Kit,简称JDK)。JDK不仅包含了运行Java程序所需的环境(JRE),更重要的是提供了编译Java源代码、调试程序以及进行性能分析等开发工作必需的工具。

随着Java技术的不断演进,新版本的JDK会定期发布,带来性能提升、新的语言特性、API增强以及安全更新。因此,了解如何获取并安装最新版的JDK至关重要。本篇文章将为您提供一份全面、细致的指南,覆盖从理解JDK基础概念、选择合适的版本,到在不同操作系统(Windows, macOS, Linux)上下载和安装最新JDK的每一个步骤,并包括安装后的验证与环境配置,力求为您扫清障碍,顺利搭建Java开发环境。本文篇幅较长,旨在详尽无遗,请耐心阅读。

第一部分:理解基础概念 – JDK是什么?

在深入安装细节之前,我们先厘清几个核心概念:

  1. JVM (Java Virtual Machine – Java虚拟机): JVM是Java实现“一次编写,到处运行”(Write Once, Run Anywhere)的关键。它是一个抽象的计算机,能在实际的硬件和操作系统之上执行Java字节码(.class文件)。不同的平台有不同的JVM实现,但它们都遵循相同的规范,确保Java程序的可移植性。

  2. JRE (Java Runtime Environment – Java运行环境): JRE是运行已编译Java程序所必需的环境。它包含了JVM以及Java核心类库(Java API)。如果你只需要运行Java应用程序,而不是开发它们,理论上安装JRE就足够了。然而,现代的JDK发行版通常将JRE作为JDK的一部分。

  3. JDK (Java Development Kit – Java开发工具包): JDK是面向Java开发者的完整工具集。它包含了JRE的全部内容(JVM + 核心类库),此外还增加了编译器(javac)、调试器(jdb)、文档生成器(javadoc)、打包工具(jar)以及其他一系列开发和诊断工具。因此,如果你要进行Java编程,你需要安装的是JDK。

为什么要安装最新版JDK?

  • 获取最新特性: 新的JDK版本会引入新的语言特性(如Records, Sealed Classes, Pattern Matching等)、新的API和库,让开发更高效、代码更简洁。
  • 性能提升: 每个新版本通常都会对JVM进行优化,提升垃圾回收效率、JIT编译性能等,从而让你的Java应用运行得更快。
  • 安全更新: Java平台会持续修复已知的安全漏洞。使用最新版(尤其是最新的LTS或安全更新版)可以确保你的开发环境和应用程序的安全性。
  • 社区与生态支持: 最新的版本往往能更好地支持最新的框架、库和工具。

第二部分:选择合适的JDK版本与发行版

  1. 版本号:LTS vs. Feature Release

    • Java采取了基于时间的发布模型,大约每六个月发布一个新的特性版本(Feature Release),例如JDK 17, 18, 19, 20, 21…
    • 每两年(自JDK 17起,以前是三年),会指定一个版本为长期支持版本(Long-Term Support, LTS)。LTS版本会获得数年的公开更新和支持(包括安全补丁和错误修复),例如JDK 8, 11, 17, 21。
    • 对于大多数生产环境和初学者,推荐使用最新的LTS版本,因为它提供了稳定性和长期的维护。
    • 如果你希望体验最新的语言特性和改进,并且能够接受更快的升级周期,可以选择最新的特性版本。
    • 本文的目标是安装“最新版”,这通常指的是当前可用的最高版本号的JDK,无论是LTS还是Feature Release。 在撰写本文时(请注意时效性,您需要自行确认当前最新版本),最新的版本可能是JDK 22或更高。
  2. 发行版:Oracle JDK vs. OpenJDK

    • OpenJDK是Java SE平台的开源参考实现。它是GPLv2(带Classpath Exception)许可下的自由软件。许多公司和组织基于OpenJDK源码构建自己的JDK发行版。
    • Oracle JDK是Oracle公司基于OpenJDK源码构建的商业发行版。自JDK 17起,Oracle JDK在新的“免费条款和条件”(NFTC)许可下,允许在开发、测试、原型设计和生产环境中免费使用,包括季度安全更新。这大大降低了使用Oracle JDK的门槛。(请务必自行查阅并理解最新的Oracle JDK许可条款)。
    • 其他OpenJDK发行版: 除了Oracle,还有许多优秀的OpenJDK发行版,如Adoptium (Eclipse Temurin), Azul Zulu, Amazon Corretto, Microsoft Build of OpenJDK等。它们通常提供不同的支持策略、平台覆盖或特定的优化。

    如何选择?
    * 对于初学者和绝大多数开发者,Oracle JDK(基于NFTC许可)Eclipse Temurin (Adoptium) 是非常好的选择,它们都提供广泛的平台支持和及时的更新。
    * 由于本指南旨在提供通用步骤,我们将主要以从Oracle官方网站下载Oracle JDK为例,因为它是最直接的来源之一。但请注意,下载和安装其他OpenJDK发行版的流程通常非常相似。

第三部分:下载最新版JDK

  1. 确定当前最新版本:

    • 访问Oracle官方的Java SE下载页面:https://www.oracle.com/java/technologies/downloads/
    • 页面通常会首先展示最新的JDK版本(例如,JDK 22)。确认这个版本号就是你想要安装的“最新版”。同时,页面也会列出之前的LTS版本(如JDK 21, JDK 17)。
  2. 选择操作系统:

    • 在最新JDK版本的下载区域,你会看到不同操作系统的选项卡或下拉菜单,如 Linux, macOS, Windows。点击或选择你的操作系统。
  3. 选择安装包类型:

    • Windows:
      • x64 Installer (.exe): 这是最常用的Windows安装程序,适用于64位Windows系统。它提供了一个图形化的安装向导。
      • x64 Compressed Archive (.zip): 这是一个压缩包,解压后即可使用,无需安装。适合需要绿色版或手动管理多个JDK版本的场景。对于初学者,推荐使用 .exe 安装程序。
      • (可能还有ARM 64 Installer/Archive,如果你的Windows运行在ARM架构的设备上)
    • macOS:
      • x64 DMG Installer (.dmg): 适用于Intel芯片的Mac。下载后双击 .dmg 文件,然后运行里面的 .pkg 安装器。
      • ARM 64 DMG Installer (.dmg): 适用于Apple Silicon (M1, M2, M3等) 芯片的Mac。同样是下载后运行 .pkg 安装器。务必根据你的Mac芯片类型选择正确的版本。
      • (可能也有 .tar.gz 压缩包,适合手动安装)
    • Linux:
      • x64 Debian Package (.deb): 适用于基于Debian的系统(如Ubuntu, Linux Mint)。可以通过 dpkg 命令安装。
      • x64 RPM Package (.rpm): 适用于基于RPM的系统(如Fedora, CentOS, RHEL, openSUSE)。可以通过 rpmdnf/yum 命令安装。
      • x64 Compressed Archive (.tar.gz): 通用压缩包,适用于任何Linux发行版。需要手动解压和配置。如果你不熟悉包管理器,或者希望精确控制安装位置,可以选择这个。
      • (同样可能有ARM 64的版本)
  4. 开始下载:

    • 点击你选择的安装包类型对应的下载链接。
    • 重要提示: Oracle网站现在通常要求你登录Oracle账户才能下载JDK。如果你没有账户,需要免费注册一个。登录后,下载会自动开始。
    • 将下载的文件保存到一个你容易找到的位置(例如,“下载”文件夹)。

第四部分:安装最新版JDK(分操作系统详解)

A. Windows 安装指南

  1. 找到下载的 .exe 文件: 在你的“下载”文件夹或其他指定位置找到类似 jdk-22_windows-x64_bin.exe(版本号可能不同)的文件。
  2. 运行安装程序: 双击该 .exe 文件。Windows可能会弹出用户账户控制(UAC)提示,询问是否允许此应用对你的设备进行更改,点击“是”。
  3. 欢迎界面: 安装向导启动,显示欢迎信息。点击“下一步”(Next)。
  4. 选择安装路径:
    • 向导会显示默认的安装路径,通常是 C:\Program Files\Java\jdk-XX (XX是版本号)。
    • 强烈建议 接受默认路径,除非你有充分的理由需要更改。标准的安装路径有助于IDE和其他工具自动找到JDK。
    • 记下这个安装路径,稍后配置环境变量时会用到。
    • 点击“下一步”(Next)。
  5. 安装过程: 安装程序开始复制文件并在系统中注册JDK。这个过程可能需要几分钟。你会看到一个进度条。
  6. 安装完成: 当看到“Successfully Installed”或类似的完成界面时,表示JDK已成功安装。点击“关闭”(Close)退出安装向导。

B. macOS 安装指南

  1. 找到下载的 .dmg 文件: 在“下载”文件夹或你保存的位置找到类似 jdk-22_macos-x64_bin.dmgjdk-22_macos-aarch64_bin.dmg 的文件。
  2. 挂载磁盘映像: 双击 .dmg 文件。系统会挂载这个磁盘映像,并在Finder中打开一个新窗口,里面通常包含一个 .pkg 安装包文件(例如 JDK 22.pkg)。
  3. 运行安装器: 双击 .pkg 文件启动安装向导。
  4. 介绍与许可:
    • 安装器会显示介绍信息。点击“继续”(Continue)。
    • 阅读(或滚动到底部)软件许可协议,然后点击“继续”(Continue)。
    • 在弹出的确认框中点击“同意”(Agree)。
  5. 选择安装位置:
    • 通常,JDK会安装在系统的标准位置 /Library/Java/JavaVirtualMachines/ 下。你一般不需要更改安装位置。安装器可能会显示所需的磁盘空间。
    • 点击“安装”(Install)。
  6. 输入管理员密码: 系统会提示你输入你的Mac登录密码(管理员密码)以授权安装。输入密码后点击“安装软件”(Install Software)。
  7. 安装过程: 安装器开始将JDK文件复制到系统中。你会看到进度条。
  8. 安装完成: 安装成功后,会显示“安装成功”或类似消息。点击“关闭”(Close)。
  9. 卸载磁盘映像: 安装完成后,可以在Finder的侧边栏找到挂载的JDK磁盘映像,右键点击它并选择“推出”或将其拖到废纸篓以卸载。

C. Linux 安装指南

Linux的安装方式有多种,这里介绍两种主要方法:

方法一:使用包管理器(以.deb或.rpm为例,更推荐用于易于管理)

  • 基于Debian/Ubuntu (.deb):

    1. 打开终端(Terminal)。
    2. 导航到下载 .deb 文件的目录,例如:cd ~/Downloads
    3. 使用 dpkg 命令进行安装(需要sudo权限):
      bash
      sudo dpkg -i jdk-22_linux-x64_bin.deb

      (请将文件名替换为你下载的实际文件名)。
    4. 如果安装过程中提示缺少依赖,可以运行以下命令修复:
      bash
      sudo apt --fix-broken install
    5. JDK通常会被安装在 /usr/lib/jvm/ 目录下。
  • 基于RPM (Fedora/CentOS/RHEL) (.rpm):

    1. 打开终端。
    2. 导航到下载 .rpm 文件的目录:cd ~/Downloads
    3. 使用 rpmdnf/yum 命令安装(需要sudo权限):
      • 使用 rpm:
        bash
        sudo rpm -ivh jdk-22_linux-x64_bin.rpm
      • 使用 dnf (推荐,会自动处理依赖):
        bash
        sudo dnf install jdk-22_linux-x64_bin.rpm
      • 使用 yum (在较旧的系统上):
        bash
        sudo yum localinstall jdk-22_linux-x64_bin.rpm

        (同样,替换为实际的文件名)。
    4. JDK通常也会安装在 /usr/lib/jvm//usr/java/ 目录下。

方法二:手动安装(使用.tar.gz压缩包,提供最大灵活性)

  1. 选择安装目录: 决定你想要将JDK安装在哪里。一个常见的选择是 /usr/local/java/opt/jdk。如果只有你一个用户使用,也可以安装在你的家目录下,例如 ~/jdks。我们以 /usr/local/java 为例。
  2. 创建安装目录(如果不存在):
    bash
    sudo mkdir -p /usr/local/java
  3. 解压压缩包:
    • 打开终端。
    • 导航到下载 .tar.gz 文件的目录:cd ~/Downloads
    • 使用 tar 命令解压到你选择的安装目录:
      bash
      sudo tar -xvzf jdk-22_linux-x64_bin.tar.gz -C /usr/local/java

      (替换为实际的文件名和目标目录)。-C 参数指定解压的目标路径。
    • 解压后,在 /usr/local/java 目录下会生成一个新的文件夹,名字类似 jdk-22.0.1(版本号可能不同)。这个完整的路径就是你的JDK安装路径,记下来。 例如:/usr/local/java/jdk-22.0.1

第五部分:配置环境变量(至关重要!)

仅仅安装JDK是不够的,你需要告诉操作系统在哪里找到Java命令(如 java, javac)。这通过设置环境变量 JAVA_HOME 和更新 PATH 变量来完成。

A. Windows 环境变量配置

  1. 打开系统属性:
    • 在Windows搜索栏搜索“环境变量”,然后选择“编辑系统环境变量”。
    • 或者,右键点击“此电脑” -> “属性” -> “高级系统设置” -> “环境变量”。
  2. 设置 JAVA_HOME:
    • 在“系统变量”(System variables)区域,点击“新建”(New…)。
    • 变量名(Variable name): 输入 JAVA_HOME
    • 变量值(Variable value): 输入你之前记下的JDK安装路径(注意: 不要包含末尾的 \bin)。例如:C:\Program Files\Java\jdk-22.0.1 (请使用你实际的路径)。
    • 点击“确定”。
  3. 更新 PATH 变量:
    • 在“系统变量”列表中,找到名为 Path 的变量,选中它,然后点击“编辑”(Edit…)。
    • 在弹出的“编辑环境变量”窗口中,点击“新建”(New)。
    • 输入 %JAVA_HOME%\bin。这里的 %JAVA_HOME% 会自动引用你刚才设置的 JAVA_HOME 变量的值。
    • (重要) 选中你刚添加的 %JAVA_HOME%\bin 这一行,使用右侧的“上移”(Move Up)按钮,将其移动到列表的较上方(但通常建议放在系统路径如 %SystemRoot%\system32 之后,以避免覆盖系统命令)。这确保系统优先找到你安装的新版JDK。
    • 点击“确定”关闭“编辑环境变量”窗口。
    • 点击“确定”关闭“环境变量”窗口。
    • 点击“确定”关闭“系统属性”窗口。

B. macOS 环境变量配置

macOS系统通常在安装 .pkg 包时会自动处理一些配置,但手动设置 JAVA_HOME 仍然是好习惯,特别是当你需要明确指定JDK版本时。macOS使用 zsh (较新版本) 或 bash 作为默认shell。

  1. 确定JDK安装路径:

    • macOS的JDK通常安装在 /Library/Java/JavaVirtualMachines/ 目录下。你可以通过终端命令查看:
      bash
      ls /Library/Java/JavaVirtualMachines/
    • 记下你的JDK目录名,例如 jdk-22.jdk
    • 完整的 JAVA_HOME 路径应该是这个目录下的 Contents/Home 子目录。例如:/Library/Java/JavaVirtualMachines/jdk-22.jdk/Contents/Home
    • 快速查找命令: 你可以使用 /usr/libexec/java_home -V 查看所有已安装的JDK及其路径,并用 /usr/libexec/java_home 直接获取默认或最新JDK的 JAVA_HOME 路径。
  2. 编辑Shell配置文件:

    • 打开终端。
    • 确定你使用的shell。输入 echo $SHELL。如果是 /bin/zsh,编辑 ~/.zshrc 文件;如果是 /bin/bash,编辑 ~/.bash_profile~/.bashrc 文件。
    • 使用文本编辑器(如 nano, vim, 或 TextEdit)打开对应的配置文件。例如,使用 nano 编辑 zsh 配置:
      bash
      nano ~/.zshrc
  3. 添加环境变量: 在文件的末尾添加以下两行:
    “`bash
    export JAVA_HOME=$(/usr/libexec/java_home) # 使用系统工具动态获取最新或默认JDK路径
    # 或者,如果你想固定为特定版本,直接指定路径:
    # export JAVA_HOME=”/Library/Java/JavaVirtualMachines/jdk-22.jdk/Contents/Home”

    export PATH=”$JAVA_HOME/bin:$PATH”
    ``
    * 第一行设置
    JAVA_HOME。推荐使用$(/usr/libexec/java_home),它会自动指向系统认为的最新或默认JDK。
    * 第二行将JDK的
    bin目录添加到PATH变量的**开头**,确保优先使用这个JDK的命令。
    4. **保存并退出编辑器:**
    * 如果是
    nano:按Ctrl + X,然后按Y确认保存,再按Enter确认文件名。
    5. **使配置生效:**
    * 关闭当前终端窗口并重新打开一个新的。
    * 或者,在当前终端运行
    source ~/.zshrc(或source ~/.bash_profile` 等对应文件) 来立即加载更改。

C. Linux 环境变量配置

Linux的环境变量配置与macOS类似,通常编辑 ~/.bashrc (对于bash shell,大多数发行版的默认) 或 ~/.zshrc (如果使用zsh)。对于全局配置(所有用户生效),可以编辑 /etc/environment 或在 /etc/profile.d/ 下创建脚本。这里以用户级别的 ~/.bashrc 为例。

  1. 确定JDK安装路径 (JAVA_HOME):

    • 如果你是通过包管理器安装的,路径通常在 /usr/lib/jvm/ 下,例如 /usr/lib/jvm/java-22-oracle/usr/lib/jvm/jdk-22
    • 如果你是手动解压 .tar.gz/usr/local/java,路径就是类似 /usr/local/java/jdk-22.0.1
    • 记下这个确切的路径。
  2. 编辑Shell配置文件:

    • 打开终端。
    • 使用文本编辑器打开 ~/.bashrc
      bash
      nano ~/.bashrc
  3. 添加环境变量: 在文件末尾添加以下内容(请将 /path/to/your/jdk 替换为你实际的JDK安装路径):
    bash
    export JAVA_HOME=/path/to/your/jdk # 例如: /usr/local/java/jdk-22.0.1
    export PATH=$JAVA_HOME/bin:$PATH
  4. 保存并退出编辑器 (同macOS nano 步骤)。
  5. 使配置生效:
    • 关闭并重新打开终端。
    • 或运行 source ~/.bashrc

使用 update-alternatives (某些Linux发行版,如Debian/Ubuntu/Fedora)
如果你的系统使用 update-alternatives 来管理多个Java版本(通常通过包管理器安装的JDK会自动注册),你可以使用它来设置默认的 javajavac 命令指向哪个JDK,这有时可以替代手动设置PATH。
* 查看已注册的Java版本:sudo update-alternatives --config java
* 设置默认版本:按照提示输入你想要设为默认的版本的编号。
* 对 javac, javadoc 等其他工具也执行类似操作。
即使使用 update-alternatives,设置 JAVA_HOME 仍然是推荐的做法,因为很多Java应用程序(如Maven, Tomcat, Jenkins等)依赖于这个变量来找到JDK。

第六部分:验证安装

无论在哪种操作系统上,完成安装和环境配置后,都需要验证JDK是否正确安装并被系统识别。

  1. 打开一个新的 终端(Linux/macOS)或命令提示符/PowerShell(Windows)。必须是新的会话,才能加载刚才修改的环境变量。
  2. 检查 java 命令(运行时):
    bash
    java -version

    你应该看到类似以下的输出,显示你刚刚安装的JDK版本号:
    java version "22.0.1" 2024-04-16
    Java(TM) SE Runtime Environment (build 22.0.1+8-16)
    Java HotSpot(TM) 64-Bit Server VM (build 22.0.1+8-16, mixed mode, sharing)

    (版本号和日期会根据你安装的版本而变化)。确保版本号是你期望的最新版本。
  3. 检查 javac 命令(编译器):
    bash
    javac -version

    你应该看到类似以下的输出,同样显示你安装的JDK版本号:
    javac 22.0.1
  4. (可选)检查 JAVA_HOME 变量:
    • Linux/macOS: echo $JAVA_HOME
    • Windows (CMD): echo %JAVA_HOME%
    • Windows (PowerShell): echo $env:JAVA_HOME
      输出应该是你之前设置的JDK安装路径。

如果以上命令都能正确执行并显示预期的版本号和路径,那么恭喜你,最新版的JDK已经成功安装并配置好了!

第七部分:常见问题与故障排除

  • javajavac 命令未找到 (command not found / 不是内部或外部命令):
    • 最常见的原因是 PATH 环境变量没有正确设置或没有生效。
    • 仔细检查 PATH 变量的设置步骤,确保路径 %JAVA_HOME%\bin (Win) 或 $JAVA_HOME/bin (Linux/macOS) 被正确添加,并且没有拼写错误。
    • 确保 JAVA_HOME 变量本身设置正确,指向的是JDK的根目录(不是 bin 目录)。
    • 确认你是在一个新的终端/命令提示符窗口中执行命令。 旧窗口不会加载新的环境变量。
    • 尝试重启电脑。
  • 显示的版本号不是刚安装的新版本:
    • 可能系统中存在多个JDK版本,而 PATH 变量中旧版本的路径排在了新版本之前。编辑 PATH 变量,将新JDK的 %JAVA_HOME%\bin$JAVA_HOME/bin 移动到更前面(更优先)的位置。
    • 在Linux上,检查 update-alternatives 的设置。
  • 权限问题 (Linux/macOS):
    • 如果在运行 javajavac 时遇到权限错误,检查JDK安装目录下的文件权限,特别是 bin 目录下的可执行文件。使用 chmod 命令修复(例如 chmod +x $JAVA_HOME/bin/java),但通常由安装程序或解压时正确设置。
    • 确保你有执行这些命令的权限。
  • Oracle 账户登录问题: 如果下载时遇到困难,确保你的Oracle账户有效且已登录。有时网络问题或浏览器插件也可能干扰下载。

第八部分:后续步骤与建议

成功安装JDK后,你就可以开始Java开发之旅了:

  1. 编写第一个Java程序: 创建一个简单的 HelloWorld.java 文件,使用 javac HelloWorld.java 编译它,然后使用 java HelloWorld 运行它。
  2. 选择集成开发环境 (IDE): 虽然可以用文本编辑器和命令行进行开发,但使用IDE(如 IntelliJ IDEA, Eclipse, Visual Studio Code with Java extensions)可以极大地提高效率。IDE通常会自动检测已安装的JDK,或者允许你手动指定 JAVA_HOME
  3. 学习构建工具: 对于稍复杂的项目,了解Maven或Gradle等构建工具是必不可少的。它们帮助管理项目依赖、编译、测试和打包。
  4. 持续学习Java: Java生态系统庞大且不断发展。持续关注官方文档、教程、社区和技术更新。

结语

安装JDK是学习和使用Java的第一步,虽然过程可能涉及多个细节,但遵循本指南的步骤,你应该能够顺利完成最新版JDK的下载、安装和配置。记住,正确设置 JAVA_HOMEPATH 环境变量是关键,它们是连接你的操作系统和Java开发工具的桥梁。

随着你对Java的深入,你可能会遇到管理多个JDK版本、理解不同JVM参数、或者处理更复杂的项目构建需求。但有了这个坚实的基础,你将更有信心地应对未来的挑战。祝你的Java学习和开发旅程一帆风顺!


发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部