macOS 查看与安装 Java JDK 全面指南(2026年版)



📋 目录

  • [一、查看 Java 版本](#一、查看 Java 版本)
    • [1.1 检查是否已安装 Java](#1.1 检查是否已安装 Java)
    • [1.2 查看 Java 安装路径](#1.2 查看 Java 安装路径)
    • [1.3 查看已安装的所有 Java 版本](#1.3 查看已安装的所有 Java 版本)
    • [1.4 查看 Java 编译器版本](#1.4 查看 Java 编译器版本)
  • [二、理解 Java 版本命名](#二、理解 Java 版本命名)
    • [2.1 版本命名规则](#2.1 版本命名规则)
    • [2.2 LTS 版本说明](#2.2 LTS 版本说明)
  • [三、安装 JDK 的四种方法](#三、安装 JDK 的四种方法)
    • 方法一:官网下载安装(推荐新手)⭐
    • [方法二:使用 Homebrew 安装(推荐开发者)⭐⭐](#方法二:使用 Homebrew 安装(推荐开发者)⭐⭐)
    • [前提:已安装 Homebrew](#前提:已安装 Homebrew)
    • [方法三:使用 SDKMAN 管理多版本(推荐高级用户)⭐⭐⭐](#方法三:使用 SDKMAN 管理多版本(推荐高级用户)⭐⭐⭐)
      • [安装 SDKMAN:](#安装 SDKMAN:)
      • [使用 SDKMAN 管理 Java:](#使用 SDKMAN 管理 Java:)
    • [方法四:使用 IntelliJ IDEA 内置 JDK](#方法四:使用 IntelliJ IDEA 内置 JDK)
  • 四、配置环境变量
    • [4.1 找到配置文件](#4.1 找到配置文件)
    • [4.2 编辑配置文件](#4.2 编辑配置文件)
    • [4.3 添加环境变量](#4.3 添加环境变量)
    • [4.4 使配置生效](#4.4 使配置生效)
  • 五、多版本管理
    • [5.1 使用 /usr/libexec/java_home 切换](#5.1 使用 /usr/libexec/java_home 切换)
    • [5.2 创建切换脚本](#5.2 创建切换脚本)
    • [5.3 项目级别配置](#5.3 项目级别配置)
  • 六、验证与测试
    • [6.1 基础验证](#6.1 基础验证)
    • [6.2 创建测试程序](#6.2 创建测试程序)
    • [6.3 检查安装完整性](#6.3 检查安装完整性)
  • 七、常见问题解决
    • [7.1 command not found](#7.1 command not found)
    • [7.2 多版本冲突](#7.2 多版本冲突)
    • [7.3 权限问题](#7.3 权限问题)
    • [7.4 M1/M2 芯片兼容问题](#7.4 M1/M2 芯片兼容问题)
    • [7.5 卸载 Java](#7.5 卸载 Java)
  • [📊 快速参考表](#📊 快速参考表)
  • [💡 最佳实践建议](#💡 最佳实践建议)

这是一份完整的 macOS Java JDK 管理指南,涵盖查看、安装、配置、多版本管理等所有内容。


一、查看 Java 版本

1.1 检查是否已安装 Java

bash 复制代码
# 查看 Java 运行时版本
java -version

可能输出:

复制代码
java version "17.0.8" 2023-07-18 LTS
Java(TM) SE Runtime Environment (build 17.0.8+9-LTS-211)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.8+9-LTS-211, mixed mode, sharing)
输出情况 含义
显示版本号 已安装 Java
command not found 未安装 Java
No Java runtime present 需要安装

1.2 查看 Java 安装路径

bash 复制代码
# 查看当前 JAVA_HOME 路径
echo $JAVA_HOME

# 查看系统默认 Java 路径
/usr/libexec/java_home

1.3 查看已安装的所有 Java 版本

bash 复制代码
# 列出所有已安装的 JDK
/usr/libexec/java_home -V

输出示例:

复制代码
Matching Java Virtual Machines (2):
    17.0.8 (arm64) "Oracle Corporation" - "Java SE 17.0.8"
        /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
    1.8.0_381 (arm64) "Oracle Corporation" - "Java SE 8"
        /Library/Java/JavaVirtualMachines/jdk1.8.jdk/Contents/Home

1.4 查看 Java 编译器版本

bash 复制代码
# 查看 javac 版本
javac -version

# 查看 jar 工具版本
jar --version

二、理解 Java 版本命名

2.1 版本命名规则

旧命名 新命名 说明
Java 1.4 Java 4 2004年之前
Java 5.0 Java 5 2004年
Java 6 Java 6 2006年
Java 7 Java 7 2011年
Java 1.8 Java 8 2014年(最常用)
Java 9 Java 9 2017年
Java 10 Java 10 2018年
Java 11 Java 11 2018年(LTS)
Java 17 Java 17 2021年(LTS)
Java 21 Java 21 2023年(LTS)

2.2 LTS 版本说明

LTS(Long Term Support) = 长期支持版本,推荐优先选择:

LTS 版本 支持期限 适用场景
Java 8 已停止公开更新 老项目维护
Java 11 至2026年 企业应用
Java 17 至2029年 新项目首选
Java 21 至2031年 最新项目

三、安装 JDK 的四种方法

方法一:官网下载安装(推荐新手)⭐

步骤:

1. 访问官网

复制代码
Oracle 官网:https://www.oracle.com/java/technologies/downloads/
OpenJDK:https://jdk.java.net/

2. 选择版本

  • 新项目:Java 17 或 21
  • 老项目:Java 8 或 11

3. 下载对应版本

芯片类型 选择版本
M1/M2/M3 macOS ARM64 DMG Installer
Intel macOS x64 DMG Installer

4. 安装

bash 复制代码
# 双击下载的 .dmg 文件
# 按照安装向导完成安装

5. 验证

bash 复制代码
java -version

方法二:使用 Homebrew 安装(推荐开发者)⭐⭐

前提:已安装 Homebrew

bash 复制代码
# 检查 Homebrew 是否安装
brew --version

# 如未安装,先安装 Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装步骤:

bash 复制代码
# 1. 搜索可用版本
brew search openjdk

# 2. 安装 Java 17(推荐)
brew install openjdk@17

# 3. 安装 Java 8
brew install openjdk@8

# 4. 安装 Java 21
brew install openjdk@21

# 5. 查看安装路径
brew info openjdk@17

配置环境变量:

bash 复制代码
# 根据终端提示,执行以下命令(以 Java 17 为例)
sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk \
/Library/Java/JavaVirtualMachines/openjdk-17.jdk

# 添加到 shell 配置文件
echo 'export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"' >> ~/.zshrc
echo 'export JAVA_HOME="/opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk"' >> ~/.zshrc

# 使配置生效
source ~/.zshrc

方法三:使用 SDKMAN 管理多版本(推荐高级用户)⭐⭐⭐

安装 SDKMAN:

bash 复制代码
# 1. 安装 SDKMAN
curl -s "https://get.sdkman.io" | bash

# 2. 初始化 SDKMAN
source "$HOME/.sdkman/bin/sdkman-init.sh"

# 3. 验证安装
sdk version

使用 SDKMAN 管理 Java:

bash 复制代码
# 1. 查看可用版本
sdk list java

# 2. 安装 Java 17
sdk install java 17.0.8-tem

# 3. 安装 Java 8
sdk install java 8.0.382-tem

# 4. 安装 Java 21
sdk install java 21.0.0-tem

# 5. 查看已安装版本
sdk current java

# 6. 切换版本
sdk use java 17.0.8-tem

# 7. 设置默认版本
sdk default java 17.0.8-tem

# 8. 卸载版本
sdk uninstall java 8.0.382-tem

优势: 可以轻松在多个 Java 版本之间切换,非常适合需要同时开发多个项目的开发者。


方法四:使用 IntelliJ IDEA 内置 JDK

如果你使用 IntelliJ IDEA 开发:

复制代码
1. 打开 IDEA → Settings → Build, Execution, Deployment → Build Tools → Maven
2. 在 "JDK for importer" 中选择或下载 JDK
3. IDEA 会自动下载并配置 JetBrains Runtime

四、配置环境变量

4.1 找到配置文件

Shell 类型 配置文件
zsh(macOS 默认) ~/.zshrc
bash ~/.bash_profile~/.bashrc

4.2 编辑配置文件

bash 复制代码
# 编辑配置文件
nano ~/.zshrc

4.3 添加环境变量

bash 复制代码
# ========== 单版本配置(Java 17)==========
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

# ========== 多版本切换配置 ==========
# 使用 /usr/libexec/java_home 动态获取
export JAVA_HOME=$(/usr/libexec/java_home -v 17)

# 添加别名方便切换
alias java8='export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)'
alias java11='export JAVA_HOME=$(/usr/libexec/java_home -v 11)'
alias java17='export JAVA_HOME=$(/usr/libexec/java_home -v 17)'
alias java21='export JAVA_HOME=$(/usr/libexec/java_home -v 21)'

4.4 使配置生效

bash 复制代码
# 重新加载配置文件
source ~/.zshrc

# 验证
echo $JAVA_HOME
java -version

五、多版本管理

5.1 使用 /usr/libexec/java_home 切换

bash 复制代码
# 查看所有已安装版本
/usr/libexec/java_home -V

# 临时切换到 Java 8
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)

# 临时切换到 Java 17
export JAVA_HOME=$(/usr/libexec/java_home -v 17)

# 临时切换到 Java 21
export JAVA_HOME=$(/usr/libexec/java_home -v 21)

5.2 创建切换脚本

~/.zshrc 中添加:

bash 复制代码
# 创建切换函数
jdk() {
    version=$1
    export JAVA_HOME=$(/usr/libexec/java_home -v"$version")
    java -version
}

使用方法:

bash 复制代码
jdk 1.8    # 切换到 Java 8
jdk 17     # 切换到 Java 17
jdk 21     # 切换到 Java 21

5.3 项目级别配置

对于不同项目需要不同 Java 版本:

bash 复制代码
# 在项目目录下创建 .env 文件
echo 'export JAVA_HOME=$(/usr/libexec/java_home -v 11)' > .env

# 使用 direnv 自动加载
brew install direnv
echo 'layout python' >> .envrc
direnv allow

六、验证与测试

6.1 基础验证

bash 复制代码
# 检查 Java 版本
java -version

# 检查编译器版本
javac -version

# 检查 JAVA_HOME
echo $JAVA_HOME

# 检查 Java 路径
which java
which javac

6.2 创建测试程序

bash 复制代码
# 创建测试文件
cat > Test.java << EOF
public class Test {
    public static void main(String[] args) {
        System.out.println("Java 版本: " + System.getProperty("java.version"));
        System.out.println("Java 供应商: " + System.getProperty("java.vendor"));
        System.out.println("操作系统: " + System.getProperty("os.name"));
    }
}
EOF

# 编译
javac Test.java

# 运行
java Test

预期输出:

复制代码
Java 版本: 17.0.8
Java 供应商: Oracle Corporation
操作系统: Mac OS X

6.3 检查安装完整性

bash 复制代码
# 检查关键工具是否存在
ls $JAVA_HOME/bin | grep -E "java|javac|jar|javadoc"

七、常见问题解决

7.1 command not found

问题: java: command not found

解决方案:

bash 复制代码
# 1. 检查是否安装
/usr/libexec/java_home -V

# 2. 检查 PATH
echo $PATH

# 3. 重新配置 JAVA_HOME
export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/bin:$PATH

# 4. 永久生效
echo 'export JAVA_HOME=$(/usr/libexec/java_home)' >> ~/.zshrc
source ~/.zshrc

7.2 多版本冲突

问题: 多个 Java 版本导致冲突

解决方案:

bash 复制代码
# 1. 查看所有版本
/usr/libexec/java_home -V

# 2. 卸载不需要的版本
# Oracle JDK: 运行卸载程序
# Homebrew: brew uninstall openjdk@8

# 3. 设置默认版本
export JAVA_HOME=$(/usr/libexec/java_home -v 17)

7.3 权限问题

问题: Permission denied

解决方案:

bash 复制代码
# 修复权限
sudo chown -R $(whoami) /Library/Java/JavaVirtualMachines

# 或使用 sudo 执行
sudo java -version

7.4 M1/M2 芯片兼容问题

问题: ARM 架构兼容性问题

解决方案:

bash 复制代码
# 1. 下载 ARM64 版本(推荐)
# 2. 或使用 Rosetta 2 转译
softwareupdate --install-rosetta

# 3. 验证架构
java -version
# 应显示 "aarch64" 或 "arm64"

7.5 卸载 Java

bash 复制代码
# 1. 删除 Oracle JDK
sudo rm -rf /Library/Java/JavaVirtualMachines/jdk*.jdk

# 2. 删除偏好设置
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane

# 3. 删除 Java 插件
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin

# 4. Homebrew 安装的使用
brew uninstall openjdk@17

# 5. SDKMAN 安装的使用
sdk uninstall java 17.0.8-tem

📊 快速参考表

安装命令速查

方法 安装 Java 17 安装 Java 8
官网 下载 DMG 安装 下载 DMG 安装
Homebrew brew install openjdk@17 brew install openjdk@8
SDKMAN sdk install java 17.0.8-tem sdk install java 8.0.382-tem

常用命令速查

命令 用途
java -version 查看 Java 版本
javac -version 查看编译器版本
/usr/libexec/java_home -V 查看所有已安装版本
echo $JAVA_HOME 查看当前 JAVA_HOME
source ~/.zshrc 刷新环境变量

💡 最佳实践建议

  1. 新手推荐:使用官网 DMG 安装,简单直接
  2. 开发者推荐:使用 Homebrew + SDKMAN,方便多版本管理
  3. 生产环境:使用 LTS 版本(Java 17 或 21)
  4. 老项目维护:保留 Java 8 环境
  5. 定期更新:关注安全更新,及时升级小版本

按照以上指南操作,你应该能在 macOS 上顺利完成 Java JDK 的查看、安装和配置。如有其他问题,欢迎继续咨询!


相关推荐
西门吹雪分身1 小时前
SpringCloudGateway过滤器之RequestRateLimiterGatewayFilterFactory
java·redis·spring cloud
敲代码的哈吉蜂1 小时前
Tomcat的功能介绍
java·tomcat
独自破碎E1 小时前
BISHI75 阶幂
android·java·开发语言
红中️1 小时前
Tomcat
java·tomcat
爱学习的小可爱卢1 小时前
JavaSE基础-Java异常体系:Bug定位终极指南
java·bug·javase
卓越软件开发1 小时前
毕设全栈开发一条龙:Java/SpringBoot/Vue/ 小程序 / Python / 安卓 / AI 图像识别 人脸检测 车牌识别 YOLO
开发语言·spring boot·python·yolo·小程序·毕业设计·课程设计
甲枫叶1 小时前
【claude+weelinking产品经理系列15】UI/UX 打磨——产品经理的审美终于能自己实现
java·人工智能·python·ui·产品经理·ai编程·ux
zihan03211 小时前
将若依(RuoYi)框架从适配 Spring Boot 2 的版本升级到 Spring Boot 3
java·spring boot·github·若依框架
@insist1231 小时前
软考-软件设计师-数据表示核心考点详解:从进制转换到 IEEE 754 标准
java·数据结构·算法