macOS查看与安装Java JDK的完整步骤
作者:独隅
本文详细介绍了在macOS上查看、安装、配置和管理Java JDK的步骤,包括使用官网下载、Homebrew、SDKMAN和IntelliJ IDEA内置JDK等方法,同时,还涵盖了环境变量配置、多版本管理以及常见问题解决等,需要的朋友可以参考下
这是一份完整的 macOS Java JDK 管理指南,涵盖查看、安装、配置、多版本管理等所有内容。
一、查看 Java 版本
1.1 检查是否已安装 Java
# 查看 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 安装路径
# 查看当前 JAVA_HOME 路径 echo $JAVA_HOME # 查看系统默认 Java 路径 /usr/libexec/java_home
1.3 查看已安装的所有 Java 版本
# 列出所有已安装的 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 编译器版本
# 查看 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. 安装
# 双击下载的 .dmg 文件 # 按照安装向导完成安装
5. 验证
java -version
方法二:使用 Homebrew 安装(推荐开发者)
前提:已安装 Homebrew
# 检查 Homebrew 是否安装 brew --version # 如未安装,先安装 Homebrew /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安装步骤:
# 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
配置环境变量:
# 根据终端提示,执行以下命令(以 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:
# 1. 安装 SDKMAN curl -s "https://get.sdkman.io" | bash # 2. 初始化 SDKMAN source "$HOME/.sdkman/bin/sdkman-init.sh" # 3. 验证安装 sdk version
使用 SDKMAN 管理 Java:
# 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 编辑配置文件
# 编辑配置文件 nano ~/.zshrc
4.3 添加环境变量
# ========== 单版本配置(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 使配置生效
# 重新加载配置文件 source ~/.zshrc # 验证 echo $JAVA_HOME java -version
五、多版本管理
5.1 使用 /usr/libexec/java_home 切换
# 查看所有已安装版本 /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 中添加:
# 创建切换函数
jdk() {
version=$1
export JAVA_HOME=$(/usr/libexec/java_home -v"$version")
java -version
}
使用方法:
jdk 1.8 # 切换到 Java 8 jdk 17 # 切换到 Java 17 jdk 21 # 切换到 Java 21
5.3 项目级别配置
对于不同项目需要不同 Java 版本:
# 在项目目录下创建 .env 文件 echo 'export JAVA_HOME=$(/usr/libexec/java_home -v 11)' > .env # 使用 direnv 自动加载 brew install direnv echo 'layout python' >> .envrc direnv allow
六、验证与测试
6.1 基础验证
# 检查 Java 版本 java -version # 检查编译器版本 javac -version # 检查 JAVA_HOME echo $JAVA_HOME # 检查 Java 路径 which java which javac
6.2 创建测试程序
# 创建测试文件
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 检查安装完整性
# 检查关键工具是否存在 ls $JAVA_HOME/bin | grep -E "java|javac|jar|javadoc"
七、常见问题解决
7.1 command not found
问题: java: command not found
解决方案:
# 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 版本导致冲突
解决方案:
# 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
解决方案:
# 修复权限 sudo chown -R $(whoami) /Library/Java/JavaVirtualMachines # 或使用 sudo 执行 sudo java -version
7.4 M1/M2 芯片兼容问题
问题: ARM 架构兼容性问题
解决方案:
# 1. 下载 ARM64 版本(推荐) # 2. 或使用 Rosetta 2 转译 softwareupdate --install-rosetta # 3. 验证架构 java -version # 应显示 "aarch64" 或 "arm64"
7.5 卸载 Java
# 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 | 刷新环境变量 |
最佳实践建议
- 新手推荐:使用官网 DMG 安装,简单直接
- 开发者推荐:使用 Homebrew + SDKMAN,方便多版本管理
- 生产环境:使用 LTS 版本(Java 17 或 21)
- 老项目维护:保留 Java 8 环境
- 定期更新:关注安全更新,及时升级小版本
按照以上指南操作,你应该能在 macOS 上顺利完成 Java JDK 的查看、安装和配置。
以上就是macOS查看与安装Java JDK的完整步骤的详细内容,更多关于macOS查看与安装Java JDK的资料请关注脚本之家其它相关文章!
