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 文件,启动安装向导。
- Welcome (欢迎):点击
Next >。 - License Agreement (许可协议):勾选
I accept the terms in the License Agreement,点击Next >。 - Custom Setup (自定义设置):
- 重点! 确保
Set JAVA_HOME variable选项被勾选,这样安装程序会自动帮你配置JAVA_HOME环境变量。 JavaSoft (Oracle) Registry Keys也建议勾选。- 可以更改安装路径,但建议使用默认路径 (例如:
C:\Program Files\Eclipse Adoptium\jdk-17.0.x.x-hotspot)。 - 点击
Next >。
- 重点! 确保
- Ready to install (准备安装):点击
Install。 - User Account Control (用户账户控制):如果弹出提示,点击
是允许安装。 - 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-hotspot 或 C:\Program Files\Java\jdk-17.0.x 等。复制这个路径。
2. 打开环境变量设置
- 在 Windows 搜索栏中输入
环境变量。 - 选择
编辑系统环境变量。 - 在弹出的
系统属性窗口中,点击环境变量...按钮。
3. 配置 JAVA_HOME 变量
- 在
系统变量区域,点击新建...。 - 变量名:
JAVA_HOME - 变量值:粘贴你的 JDK 安装路径 (例如:
C:\Program Files\Eclipse Adoptium\jdk-17.0.x.x-hotspot)。 - 点击
确定。
4. 配置 Path 变量
Path 变量告诉操作系统在哪里可以找到可执行文件 (如 java.exe 和 javac.exe)。
- 在
系统变量区域,找到并选中Path变量,点击编辑...。 - 点击
新建。 - 输入
%JAVA_HOME%\bin。%JAVA_HOME%会自动解析为JAVA_HOME变量的值。- 这种方式的好处是,如果以后 JDK 路径改变,只需要修改
JAVA_HOME,Path就不需要动了。
- 将
%JAVA_HOME%\bin向上移动到列表的顶部,以确保系统优先使用你配置的 JDK 版本。 - 点击
确定,关闭所有环境变量窗口。
5. 验证配置
重新打开一个 新的 命令提示符或 PowerShell 窗口(因为旧窗口可能没有加载新的环境变量),再次运行 java -version 和 javac -version 进行验证。
五、多 JDK 版本共存与切换 (进阶)
在实际开发中,你可能需要同时安装多个 JDK 版本来应对不同项目的需求。
方案一:手动修改 JAVA_HOME (简单但不方便)
如果你有多个 JDK 版本(例如 jdk8 和 jdk17),你可以:
- 将
JAVA_HOME指向你当前需要使用的 JDK 版本的安装路径。 Path变量中继续使用%JAVA_HOME%\bin。- 每次切换版本后,都需要重启 IDE (如 IntelliJ IDEA) 和命令提示符。
方案二:使用版本管理工具 (推荐)
对于 Windows 用户,Scoop 是一个优秀的命令行安装器,可以方便地管理多个 JDK 版本。
- 安装 Scoop (如果未安装):
打开 PowerShell (以管理员身份运行),执行:
powershell
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
irm get.scoop.sh | iex - 添加 Java bucket:
bash
scoop bucket add java - 安装 JDK 版本 (以 AdoptOpenJDK 8 和 Temurin 17 为例):
bash
scoop install adoptopenjdk8
scoop install temurin17 -
切换 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 8java17
java -version # 应该是 Java 17
``scoop reset
*注:*会将其设置为默认版本并更新环境变量。scoop hold用于避免在scoop reset` 时卸载其他版本。
方案三:IDE (集成开发环境) 内置切换功能
大多数现代 IDE (如 IntelliJ IDEA、Eclipse) 都允许你在项目级别或模块级别配置使用的 JDK 版本,这通常比系统级别的环境变量切换更方便,也更推荐。
- IntelliJ IDEA:
File > Project Structure > Project SDK,可以添加多个 JDK,并在项目或模块中选择使用。
六、常见问题与排查
-
'java' 不是内部或外部命令,也不是可运行的程序或批处理文件。- 原因:
Path环境变量未正确配置,系统找不到java.exe。 - 解决: 检查
Path变量中是否包含%JAVA_HOME%\bin,并确保JAVA_HOME指向正确的 JDK 路径。确保%JAVA_HOME%\bin在Path列表的靠前位置。 - 注意: 配置完环境变量后,需要关闭所有旧的命令提示符或 PowerShell 窗口,并打开新的窗口才能生效。
- 原因:
-
javac命令无效,但java命令有效。- 原因: 可能只安装了 JRE 而非 JDK,或者
Path中指向了 JRE 的bin目录。 - 解决: 确保你安装的是 JDK,并且
JAVA_HOME和Path都正确指向了 JDK 的安装目录。
- 原因: 可能只安装了 JRE 而非 JDK,或者
-
版本混淆,运行的是旧版本 JDK。
- 原因:
Path变量中可能存在多个 JDK 路径,系统按照顺序查找,找到了旧版本。 - 解决: 确保你希望使用的 JDK 版本的
%JAVA_HOME%\bin在Path变量中优先级最高(即在列表顶部),并且移除其他可能导致混淆的旧 JDK 路径。 - Windows 用户注意:
C:\Windows\System32目录下有时会有java.exe的副本,这可能会导致版本混淆。如果遇到问题,可以尝试重命名或删除这个文件(但需谨慎操作)。
- 原因:
-
安装后依然无法在 IDE 中识别 JDK。
- 原因: IDE 可能有自己的 JDK 配置,或者需要手动指定。
- 解决: 在 IDE 的
Project Structure(IntelliJ IDEA) 或Preferences(Eclipse) 中手动添加或选择正确的 JDK 路径。
七、总结
JDK 的安装与配置是 Java 开发的第一步,也是至关重要的一步。通过本文的详细指导,你应该已经掌握了 JDK 的安装、环境变量的配置,以及多版本管理和常见问题的排查方法。从现在开始,你已经具备了开启 Java 编程之旅的基础能力。祝你在 Java 的世界里探索愉快!