JDK 安装配置详细指南(推荐 JDK 17+)
📦 JDK 版本选择建议
| JDK 版本 | 状态 | 推荐用途 |
|---|---|---|
| JDK 17 | LTS(长期支持) | 企业生产环境首选 |
| JDK 21 | LTS(最新) | 新技术尝鲜,学习新特性 |
| JDK 11 | LTS | 老系统维护(逐渐迁移到17) |
| JDK 8 | 维护中 | 传统企业应用(尽快升级) |
建议初学者选择 JDK 17:平衡了新特性和稳定性
🖥️ Windows 系统安装
方法一:手动安装(推荐)
1. 下载 JDK
- Oracle JDK(需注册账号):
Oracle官网 - OpenJDK(开源免费,推荐):
- Adoptium(原AdoptOpenJDK)
- Microsoft OpenJDK
- Amazon Corretto
推荐使用 Adoptium Eclipse Temurin JDK 17
2. 安装步骤
# 1. 下载 Windows x64 Installer (.msi)# 2. 双击运行,按向导安装# 3. 建议安装路径(避免空格和中文):# C:\dev\java\jdk-17# 4. 安装过程中会自动设置JAVA_HOME环境变量3. 手动配置环境变量(如果.msi安装没自动配置)
# 1. 右键"此电脑" → "属性" → "高级系统设置"# 2. "环境变量" → 系统变量 → 新建# 新建 JAVA_HOME(如果不存在)变量名:JAVA_HOME 变量值:C:\dev\java\jdk-17# 3. 编辑 Path 变量# 添加:%JAVA_HOME%\bin# (最好放在最前面)方法二:使用包管理器(推荐开发者)
# 1. 安装 Chocolatey(Windows 包管理器)# 以管理员打开 PowerShell,运行:Set-ExecutionPolicyBypass-ScopeProcess-Force;[System.Net.ServicePointManager]::SecurityProtocol =[System.Net.ServicePointManager]::SecurityProtocol-bor3072;iex((New-ObjectSystem.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))# 2. 使用 Chocolatey 安装 JDKchoco install temurin17-y# 或安装多个版本choco install temurin11 temurin17 temurin21-y方法三:使用 Scoop
# 1. 安装 Scoopirmget.scoop.sh|iex# 2. 安装 JDKscoop bucket add java scoop install temurin17-jdk🍎 macOS 系统安装
方法一:使用 Homebrew(推荐)
# 1. 安装 Homebrew(如果未安装)/bin/bash -c"$(curl-fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"# 2. 安装 JDK 17brewinstallopenjdk@17# 3. 配置环境变量# 对于 Intel Mac,添加到 ~/.zshrc 或 ~/.bash_profileecho'export PATH="/usr/local/opt/openjdk@17/bin:$PATH"'>>~/.zshrcecho'export JAVA_HOME="/usr/local/opt/openjdk@17"'>>~/.zshrc# 对于 Apple Silicon (M1/M2) Macecho'export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"'>>~/.zshrcecho'export JAVA_HOME="/opt/homebrew/opt/openjdk@17"'>>~/.zshrc# 4. 使配置生效source~/.zshrc方法二:手动下载安装
# 1. 下载 macOS .pkg 安装包# 2. 双击安装# 3. JDK 通常安装在:# Intel Mac: /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home# M1/M2 Mac: /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home方法三:使用 jEnv 管理多版本(高级)
# 1. 安装 jEnvbrewinstalljenv# 2. 配置 shellecho'export PATH="$HOME/.jenv/bin:$PATH"'>>~/.zshrcecho'eval "$(jenv init -)"'>>~/.zshrcsource~/.zshrc# 3. 添加 JDKjenvadd/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home# 4. 设置全局版本jenv global17# 或在特定目录设置本地版本jenvlocal17🐧 Linux 系统安装
Ubuntu/Debian 系统
# 方法一:使用 apt(OpenJDK)# 1. 更新包列表sudoaptupdate# 2. 安装 JDK 17sudoaptinstallopenjdk-17-jdk -y# 3. 验证安装java -version# 4. 设置默认版本(如果安装了多个)sudoupdate-alternatives --config javaCentOS/RHEL/Fedora
# 方法一:使用 yum/dnf# 1. CentOS/RHEL 7/8sudoyuminstalljava-17-openjdk-devel# 2. Fedora / CentOS Stream / RHEL 9sudodnfinstalljava-17-openjdk-devel# 方法二:手动安装(任何 Linux 发行版)# 1. 下载 .tar.gz 压缩包wgethttps://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.9%2B9/OpenJDK17U-jdk_x64_linux_hotspot_17.0.9_9.tar.gz# 2. 解压到 /optsudotar-xzf OpenJDK17U-jdk_x64_linux_hotspot_17.0.9_9.tar.gz -C /opt# 3. 设置环境变量echo'export JAVA_HOME="/opt/jdk-17.0.9+9"'>>~/.bashrcecho'export PATH="$JAVA_HOME/bin:$PATH"'>>~/.bashrc# 4. 使配置生效source~/.bashrc使用 SDKMAN(推荐 Linux/macOS)
# 1. 安装 SDKMANcurl-s"https://get.sdkman.io"|bashsource"$HOME/.sdkman/bin/sdkman-init.sh"# 2. 列出可用 JDK 版本sdk list java# 3. 安装 JDK 17sdkinstalljava17.0.9-tem# 4. 切换版本sdk use java17.0.9-tem# 或设置为默认sdk default java17.0.9-tem🔧 验证安装
基本验证命令
# 1. 检查 Java 版本java -version# 输出示例:# openjdk version "17.0.9" 2023-10-17# OpenJDK Runtime Environment Temurin-17.0.9+9 (build 17.0.9+9)# OpenJDK 64-Bit Server VM Temurin-17.0.9+9 (build 17.0.9+9, mixed mode, sharing)# 2. 检查 Java 编译器javac -version# javac 17.0.9# 3. 检查安装路径echo$JAVA_HOME# Linux/macOSecho%JAVA_HOME%# Windows cmd$env:JAVA_HOME# Windows PowerShell创建测试程序验证
// HelloWorld.javapublicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println("JDK 安装成功!");System.out.println("Java 版本: "+System.getProperty("java.version"));System.out.println("JAVA_HOME: "+System.getProperty("java.home"));}}编译和运行:
# 1. 编译javac HelloWorld.java# 2. 运行java HelloWorld# 输出:# JDK 安装成功!# Java 版本: 17.0.9# JAVA_HOME: C:\dev\java\jdk-17⚙️ 配置优化
1. 设置 Maven 使用指定 JDK
<!-- settings.xml 中添加 --><profile><id>jdk-17</id><activation><activeByDefault>true</activeByDefault><jdk>17</jdk></activation><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target></properties></profile>2. 配置 IDE 使用 JDK 17
IntelliJ IDEA
# File → Project Structure → SDKs# 点击 "+" → Add JDK# 选择 JDK 17 安装目录# 设置项目语言级别为 17Eclipse
# Window → Preferences → Java → Installed JREs# 点击 Add → Standard VM# 选择 JDK 17 安装目录VS Code
// settings.json{"java.configuration.runtimes":[{"name":"JavaSE-17","path":"C:\\dev\\java\\jdk-17","default":true}],"java.jdt.ls.java.home":"C:\\dev\\java\\jdk-17"}3. 常用环境变量配置
# Windows (PowerShell)$env:JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"$env:MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=256m"# Linux/macOSexportJAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"exportMAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=256m"🔄 多版本 JDK 管理
Windows:使用 PowerShell 脚本切换
# switch-jdk.ps1param([string]$version)$javaHome=switch($version){"8"{"C:\dev\java\jdk-8"}"11"{"C:\dev\java\jdk-11"}"17"{"C:\dev\java\jdk-17"}"21"{"C:\dev\java\jdk-21"}default{"C:\dev\java\jdk-17"}}# 设置用户环境变量[Environment]::SetEnvironmentVariable("JAVA_HOME",$javaHome,"User")[Environment]::SetEnvironmentVariable("Path","$javaHome\bin;"+[Environment]::GetEnvironmentVariable("Path","User")-replace"C:\\dev\\java\\jdk-\d+\\bin;?",""),"User")Write-Host"已切换到 JDK$version"macOS/Linux:使用 update-alternatives
# 1. 注册多个 JDKsudoupdate-alternatives --install /usr/bin/java java /opt/jdk-17.0.9+9/bin/java1sudoupdate-alternatives --install /usr/bin/java java /opt/jdk-11.0.20+8/bin/java2sudoupdate-alternatives --install /usr/bin/javac javac /opt/jdk-17.0.9+9/bin/javac1sudoupdate-alternatives --install /usr/bin/javac javac /opt/jdk-11.0.20+8/bin/javac2# 2. 切换版本sudoupdate-alternatives --config javasudoupdate-alternatives --config javac🐛 常见问题解决
1. "java"不是内部或外部命令
# 原因:Path 环境变量配置错误# 解决:# 1. 检查 JAVA_HOME 是否正确设置# 2. 确保 Path 中有 %JAVA_HOME%\bin(Windows)# 3. 重启命令行或终端# 4. 或使用绝对路径:C:\dev\java\jdk-17\bin\java -version2. 版本混乱问题
# 查看所有 java 可执行文件位置# Windows:where java# Linux/macOS:which-a java# 删除不需要的版本或调整 Path 顺序3. 权限问题(Linux/macOS)
# 确保 .tar.gz 解压后文件有执行权限sudochmod-R755/opt/jdk-17.0.9+9# 确保当前用户有访问权限sudochown-R$USER:$USER/opt/jdk-17.0.9+94. IDE 找不到 JDK
# 1. 检查 IDE 配置的 JDK 路径# 2. 确保路径没有空格和中文# 3. 重新导入或重新配置 JDK📊 JDK 17 新特性快速了解
// 1. 文本块(Java 13 引入,Java 15 正式)Stringjson=""" { "name": "张三", "age": 25, "city": "北京" } """;// 2. Switch 表达式增强StringdayType=switch(day){caseMONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY->"工作日";caseSATURDAY,SUNDAY->"周末";};// 3. 记录类(Record Classes)recordPoint(intx,inty){}// 4. 密封类(Sealed Classes)sealedinterfaceShapepermitsCircle,Rectangle,Triangle{}// 5. 模式匹配 instanceofif(objinstanceofStrings&&s.length()>5){System.out.println(s.toUpperCase());}🎯 最终检查清单
✅ 下载并安装 JDK 17
✅ 验证java -version输出正确
✅ 验证javac -version输出正确
✅ 配置 JAVA_HOME 环境变量
✅ 将 %JAVA_HOME%\bin 或 $JAVA_HOME/bin 添加到 Path
✅ IDE 正确识别 JDK 17
✅ 能成功编译和运行 HelloWorld 程序
安装完成后,就可以开始你的 Java 学习之旅了!🎉