JDK安装与配置:新手入门到精通,看这篇就够了 – wiki大全


JDK 安装与配置:新手入门到精通,看这篇就够了

Java Development Kit (JDK) 是 Java 编程语言的核心,它包含了 Java 运行环境 (JRE)、编译器 (javac) 和各种开发工具,是所有 Java 开发者不可或缺的基础。本文将带你从零开始,详细了解 JDK 的安装与配置过程,助你从新手蜕变为 JDK 配置大师。

一、JDK 是什么?为什么需要它?

在深入安装之前,我们先来明确一下 JDK 的概念:

  • JVM (Java Virtual Machine – Java 虚拟机):Java 程序的运行时环境,负责将编译后的字节码文件 (.class) 解释执行。JVM 是 Java 跨平台特性的基石。
  • JRE (Java Runtime Environment – Java 运行时环境):包含 JVM 和 Java 核心类库。如果你只是想运行 Java 程序,安装 JRE 就足够了。
  • JDK (Java Development Kit – Java 开发工具包):包含 JRE、JVM、编译器 (javac)、文档生成工具 (javadoc)、打包工具 (jar) 等一系列开发工具。如果你需要编写、编译和调试 Java 程序,就必须安装 JDK。

为什么需要 JDK? 简单来说,JDK 提供了编写、编译和运行 Java 程序所需的一切工具。没有它,你就无法进行 Java 开发。

二、选择合适的 JDK 版本

Java 的版本迭代非常快,目前主流使用的 LTS(长期支持)版本有 Java 8 (1.8)、Java 11、Java 17 和 Java 21。

  • Java 8 (1.8):历史最悠久、应用最广泛的 LTS 版本,许多老项目仍在使用。如果你在维护旧项目,或者想学习基础,这是一个不错的选择。
  • Java 11:第二个 LTS 版本,引入了一些新特性和性能改进。
  • Java 17:最新的 LTS 版本,引入了许多现代 Java 特性,是目前许多新项目和推荐的版本。
  • Java 21:最新 LTS 版本,引入了更多新特性,是Java未来的发展方向。

推荐:
* 初学者和新项目: 建议从 Java 17 或 Java 21 开始,它们拥有最新的特性和更好的性能。
* 维护旧项目: 根据项目要求,可能需要安装 Java 8 或 Java 11

获取渠道:
* Oracle JDK:Oracle 官方提供的 JDK,从 Java 11 开始,免费商用需要许可。个人学习和开发不受影响。
* Open JDK:开源的 JDK 实现,由各种组织(如 Adoptium、Azul Zulu、Red Hat 等)维护和发布,完全免费且可以商用。
* 推荐: Adoptium (Eclipse Temurin) 是目前非常流行的 OpenJDK 发行版,提供稳定、高性能的 JDK。

三、JDK 的安装步骤 (以 Windows 系统为例)

以下将以 Adoptium Temurin OpenJDK 17 为例,详细说明安装过程。其他版本和发行版的安装步骤类似。

1. 下载 JDK 安装包

访问 Adoptium 官网:https://adoptium.net/

  • 选择你要下载的 JDK 版本(例如:LTS 17)。
  • 选择你的操作系统(Windows)。
  • 选择架构(x64)。
  • 下载 .msi 安装包(推荐,自动配置环境变量)。

2. 运行安装程序

双击下载的 .msi 文件,启动安装向导。

  1. Welcome (欢迎):点击 Next >
  2. License Agreement (许可协议):勾选 I accept the terms in the License Agreement,点击 Next >
  3. Custom Setup (自定义设置)
    • 重点! 确保 Set JAVA_HOME variable 选项被勾选,这样安装程序会自动帮你配置 JAVA_HOME 环境变量。
    • JavaSoft (Oracle) Registry Keys 也建议勾选。
    • 可以更改安装路径,但建议使用默认路径 (例如:C:\Program Files\Eclipse Adoptium\jdk-17.0.x.x-hotspot)。
    • 点击 Next >
  4. Ready to install (准备安装):点击 Install
  5. User Account Control (用户账户控制):如果弹出提示,点击 允许安装。
  6. Completed (完成):点击 Finish

3. 验证安装

安装完成后,打开 命令提示符 (CMD)PowerShell,输入以下命令并按回车:

bash
java -version
javac -version

如果看到类似以下输出,说明 JDK 已成功安装并配置:

“`
openjdk version “17.0.x” 202x-xx-xx LTS
OpenJDK Runtime Environment Temurin-17.0.x+x (build 17.0.x+x)
OpenJDK 64-Bit Server VM Temurin-17.0.x+x (build 17.0.x+x, mixed mode, sharing)

javac 17.0.x
“`

四、手动配置环境变量 (了解和排查问题用)

如果 .msi 安装程序没有自动配置环境变量,或者你想理解配置原理,可以手动进行。

1. 找到 JDK 安装路径

通常在 C:\Program Files\Eclipse Adoptium\jdk-17.0.x.x-hotspotC:\Program Files\Java\jdk-17.0.x 等。复制这个路径。

2. 打开环境变量设置

  • 在 Windows 搜索栏中输入 环境变量
  • 选择 编辑系统环境变量
  • 在弹出的 系统属性 窗口中,点击 环境变量... 按钮。

3. 配置 JAVA_HOME 变量

  1. 系统变量 区域,点击 新建...
  2. 变量名JAVA_HOME
  3. 变量值:粘贴你的 JDK 安装路径 (例如:C:\Program Files\Eclipse Adoptium\jdk-17.0.x.x-hotspot)。
  4. 点击 确定

4. 配置 Path 变量

Path 变量告诉操作系统在哪里可以找到可执行文件 (如 java.exejavac.exe)。

  1. 系统变量 区域,找到并选中 Path 变量,点击 编辑...
  2. 点击 新建
  3. 输入 %JAVA_HOME%\bin
    • %JAVA_HOME% 会自动解析为 JAVA_HOME 变量的值。
    • 这种方式的好处是,如果以后 JDK 路径改变,只需要修改 JAVA_HOMEPath 就不需要动了。
  4. %JAVA_HOME%\bin 向上移动到列表的顶部,以确保系统优先使用你配置的 JDK 版本。
  5. 点击 确定,关闭所有环境变量窗口。

5. 验证配置

重新打开一个 新的 命令提示符或 PowerShell 窗口(因为旧窗口可能没有加载新的环境变量),再次运行 java -versionjavac -version 进行验证。

五、多 JDK 版本共存与切换 (进阶)

在实际开发中,你可能需要同时安装多个 JDK 版本来应对不同项目的需求。

方案一:手动修改 JAVA_HOME (简单但不方便)

如果你有多个 JDK 版本(例如 jdk8jdk17),你可以:

  1. JAVA_HOME 指向你当前需要使用的 JDK 版本的安装路径。
  2. Path 变量中继续使用 %JAVA_HOME%\bin
  3. 每次切换版本后,都需要重启 IDE (如 IntelliJ IDEA) 和命令提示符。

方案二:使用版本管理工具 (推荐)

对于 Windows 用户,Scoop 是一个优秀的命令行安装器,可以方便地管理多个 JDK 版本。

  1. 安装 Scoop (如果未安装):
    打开 PowerShell (以管理员身份运行),执行:
    powershell
    Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
    irm get.scoop.sh | iex
  2. 添加 Java bucket
    bash
    scoop bucket add java
  3. 安装 JDK 版本 (以 AdoptOpenJDK 8 和 Temurin 17 为例):
    bash
    scoop install adoptopenjdk8
    scoop install temurin17
  4. 切换 JDK 版本
    “`bash
    scoop install adoptopenjdk8 # 安装并设置为默认
    scoop install temurin17 # 安装但不设置为默认

    查看已安装的 Java 版本

    scoop status java

    切换到指定版本

    scoop alias java8 ‘scoop hold adoptopenjdk8; scoop hold temurin17; scoop reset adoptopenjdk8’
    scoop alias java17 ‘scoop hold temurin17; scoop hold adoptopenjdk8; scoop reset temurin17’

    使用

    java8
    java -version # 应该是 Java 8

    java17
    java -version # 应该是 Java 17
    ``
    *注:*
    scoop reset 会将其设置为默认版本并更新环境变量。scoop hold用于避免在scoop reset` 时卸载其他版本。

方案三:IDE (集成开发环境) 内置切换功能

大多数现代 IDE (如 IntelliJ IDEA、Eclipse) 都允许你在项目级别或模块级别配置使用的 JDK 版本,这通常比系统级别的环境变量切换更方便,也更推荐。

  • IntelliJ IDEA: File > Project Structure > Project SDK,可以添加多个 JDK,并在项目或模块中选择使用。

六、常见问题与排查

  1. 'java' 不是内部或外部命令,也不是可运行的程序或批处理文件。

    • 原因: Path 环境变量未正确配置,系统找不到 java.exe
    • 解决: 检查 Path 变量中是否包含 %JAVA_HOME%\bin,并确保 JAVA_HOME 指向正确的 JDK 路径。确保 %JAVA_HOME%\binPath 列表的靠前位置。
    • 注意: 配置完环境变量后,需要关闭所有旧的命令提示符或 PowerShell 窗口,并打开新的窗口才能生效。
  2. javac 命令无效,但 java 命令有效。

    • 原因: 可能只安装了 JRE 而非 JDK,或者 Path 中指向了 JRE 的 bin 目录。
    • 解决: 确保你安装的是 JDK,并且 JAVA_HOMEPath 都正确指向了 JDK 的安装目录。
  3. 版本混淆,运行的是旧版本 JDK。

    • 原因: Path 变量中可能存在多个 JDK 路径,系统按照顺序查找,找到了旧版本。
    • 解决: 确保你希望使用的 JDK 版本的 %JAVA_HOME%\binPath 变量中优先级最高(即在列表顶部),并且移除其他可能导致混淆的旧 JDK 路径。
    • Windows 用户注意: C:\Windows\System32 目录下有时会有 java.exe 的副本,这可能会导致版本混淆。如果遇到问题,可以尝试重命名或删除这个文件(但需谨慎操作)。
  4. 安装后依然无法在 IDE 中识别 JDK。

    • 原因: IDE 可能有自己的 JDK 配置,或者需要手动指定。
    • 解决: 在 IDE 的 Project Structure (IntelliJ IDEA) 或 Preferences (Eclipse) 中手动添加或选择正确的 JDK 路径。

七、总结

JDK 的安装与配置是 Java 开发的第一步,也是至关重要的一步。通过本文的详细指导,你应该已经掌握了 JDK 的安装、环境变量的配置,以及多版本管理和常见问题的排查方法。从现在开始,你已经具备了开启 Java 编程之旅的基础能力。祝你在 Java 的世界里探索愉快!


滚动至顶部