JDK概述
Java Development Kit (JDK) 是Java开发的核心工具包,包含了Java编译器、运行时环境、调试工具等。在Mac上安装JDK有多种方式,我们将介绍最常用和推荐的方法。
编译器
javac命令用于编译Java源代码
运行时
java命令用于运行Java程序
调试工具
jdb等调试和分析工具
打包工具
jar命令用于创建和管理JAR文件
版本选择
JDK 17 (LTS)
推荐- 长期支持版本
- 稳定性好,企业级应用首选
- Spring Boot 3.x 要求
- 支持到2029年
JDK 11 (LTS)
稳定- 长期支持版本
- 广泛使用的版本
- 兼容性好
- 支持到2026年
JDK 21 (LTS)
最新- 最新长期支持版本
- 性能提升显著
- 新特性丰富
- 支持到2031年
Homebrew安装方式(推荐)
为什么推荐Homebrew?
- 安装简单,一条命令搞定
- 自动处理环境变量
- 版本管理方便
- 卸载干净
步骤1:安装Homebrew
如果还没有安装Homebrew,先安装它:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安装过程可能需要几分钟,请耐心等待。如果网络较慢,可以使用国内镜像源。
步骤2:搜索可用的JDK版本
brew search openjdk
你会看到类似这样的输出:
openjdk openjdk@11 openjdk@17 openjdk@21
步骤3:安装JDK
brew install openjdk@17
brew install openjdk@11
brew install openjdk@21
步骤4:创建符号链接
为了让系统能够找到Java,需要创建符号链接:
sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk
如果你使用的是Intel Mac,路径可能是 /usr/local/opt/openjdk@17/
手动安装方式
如果你不想使用Homebrew,也可以手动下载安装JDK。
步骤1:下载JDK
步骤2:安装JDK
- 下载对应Mac版本的
.dmg
或.pkg
文件 - 双击下载的文件开始安装
- 按照安装向导的提示完成安装
- JDK将被安装到
/Library/Java/JavaVirtualMachines/
目录
环境变量配置
步骤1:查找JDK安装路径
/usr/libexec/java_home -V
这个命令会列出所有已安装的JDK版本和路径。
步骤2:配置环境变量
根据你使用的Shell,选择对应的配置文件:
编辑 ~/.zshrc
文件:
nano ~/.zshrc
添加以下内容:
# Java Environment
export JAVA_HOME=$(/usr/libexec/java_home -v 17)
export PATH=$JAVA_HOME/bin:$PATH
编辑 ~/.bash_profile
文件:
nano ~/.bash_profile
添加以下内容:
# Java Environment
export JAVA_HOME=$(/usr/libexec/java_home -v 17)
export PATH=$JAVA_HOME/bin:$PATH
步骤3:重新加载配置
source ~/.zshrc
或者重新打开终端窗口。
多版本管理
在实际开发中,你可能需要在不同的JDK版本之间切换。以下是几种管理方法:
方法1:使用别名快速切换
在 ~/.zshrc
中添加别名:
# Java Version Aliases
alias java11="export JAVA_HOME=$(/usr/libexec/java_home -v 11); java -version"
alias java17="export JAVA_HOME=$(/usr/libexec/java_home -v 17); java -version"
alias java21="export JAVA_HOME=$(/usr/libexec/java_home -v 21); java -version"
使用方法:
java17 # 切换到JDK 17
方法2:使用jenv工具
安装jenv:
brew install jenv
配置jenv:
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc
添加JDK版本:
jenv add $(/usr/libexec/java_home -v 11)
jenv add $(/usr/libexec/java_home -v 17)
安装验证
验证安装
运行以下命令验证JDK是否正确安装:
检查Java版本
java -version
检查编译器
javac -version
检查JAVA_HOME
echo $JAVA_HOME
检查PATH
which java
创建测试程序
创建一个简单的Java程序来测试环境:
mkdir ~/java-test && cd ~/java-test
创建 HelloWorld.java
文件:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, Java on Mac!");
System.out.println("Java Version: " + System.getProperty("java.version"));
System.out.println("Java Home: " + System.getProperty("java.home"));
}
}
编译并运行:
javac HelloWorld.java
java HelloWorld
常见问题解决
问题1:命令未找到
现象:运行 java
或 javac
提示命令未找到
解决方案:
- 检查JAVA_HOME是否正确设置
- 确认PATH中包含
$JAVA_HOME/bin
- 重新加载Shell配置文件
echo $JAVA_HOME
echo $PATH | grep java
问题2:版本不匹配
现象:java -version
和 javac -version
显示不同版本
解决方案:
- 检查是否有多个JDK安装
- 确认JAVA_HOME指向正确版本
- 清理PATH中的重复路径
/usr/libexec/java_home -V
which java
which javac
问题3:权限问题
现象:安装或配置时提示权限不足
解决方案:
- 使用
sudo
执行需要管理员权限的命令 - 检查文件和目录的权限设置
- 确保用户有写入配置文件的权限
ls -la ~/.zshrc
chmod 644 ~/.zshrc
问题4:Homebrew路径问题
现象:Intel Mac和Apple Silicon Mac的Homebrew路径不同
解决方案:
- Intel Mac:
/usr/local/
- Apple Silicon Mac:
/opt/homebrew/
- 使用
brew --prefix
获取正确路径
brew --prefix
ls $(brew --prefix)/opt/