从零搭建 Mac Java 开发环境:Homebrew + JDK + Maven + Git 全流程配置
2026/5/26 13:32:56 网站建设 项目流程

本文面向刚拿到新 Mac(Apple Silicon 芯片)的开发者,从零开始搭建一套完整的 Java 开发环境。每一步都会解释为什么要装、装了能做什么、不装会怎样。

写在前面:工具链全景

在开始之前,先理解整个工具链的关系:

Xcode CLT → 编译器基础设施,几乎所有工具的底层依赖 ↓ Homebrew → Mac 上的包管理器,用它来安装其他工具 ↓ Oh My Zsh → 让终端更好用(可选,但强烈推荐) ↓ Git + SSH Key → 代码版本管理 + 与远程仓库通信 ↓ JDK 11 → Java 运行和编译环境 ↓ Maven → Java 项目构建和依赖管理 ↓ IntelliJ IDEA → 集成开发环境,写代码的地方
类型工具
缺一不可Xcode CLT、Git、JDK、Maven
强烈推荐Homebrew、Oh My Zsh
可替换IntelliJ IDEA(也可用其他 IDE)

一、Xcode Command Line Tools

是什么 & 为什么装

Xcode CLT 是苹果提供的一套命令行编译工具,包含clang(C/C++ 编译器)、makegit等基础开发工具。

不装会怎样:后续几乎所有工具(Homebrew、Git、Maven)都无法正常运行,是整个开发环境的地基。

安装

xcode-select --install

执行后会弹出图形安装窗口,点击"安装"等待完成即可。

如果已经安装完整版 Xcode(从 App Store 下载),需要额外执行:

# 把 Xcode 移到 Applications(放在 Downloads 不算安装) sudo mv ~/Downloads/Xcode.app /Applications/ # 绑定工具链路径 sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer # 接受许可协议(不做这步 Homebrew 会报错) sudo xcodebuild -license accept

验证

xcode-select -p # 输出:/Library/Developer/CommandLineTools # 或:/Applications/Xcode.app/Contents/Developer clang --version # 输出:Apple clang version 17.x.x ... git --version # 输出:git version 2.x.x

⚠️ 常见问题

问题1:命令卡住或报错"无法连接服务器"

企业网络环境下,苹果软件更新服务器可能被代理拦截,表现为安装进度条卡死或直接报错。

解决:断开公司 Wi-Fi,连手机热点后重新执行命令。

问题2:macOS beta 版本找不到 CLT 包

beta 系统对应的 CLT 包可能尚未发布:

# 验证:输出为空说明包还没上线 softwareupdate -l | grep "Command Line Tools"

解决:安装完整版 Xcode 并执行上方绑定命令,效果完全等同 CLT。


二、Homebrew(包管理器)

是什么 & 为什么装

Homebrew 是 macOS 上最主流的包管理器,相当于 Linux 上的aptyum。有了它,安装任何开发工具只需一行命令,不需要去各个官网手动下载安装包。

不装会怎样:可以手动安装各个工具,但管理和更新会非常繁琐。强烈建议安装。

安装

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

Apple Silicon 必做:添加 PATH

这是 Apple Silicon 特有步骤,Intel Mac 不需要。

原因:Apple Silicon 上 Homebrew 安装在/opt/homebrew,不在系统默认 PATH 里,装完直接用会提示command not found: brew

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc source ~/.zshrc

验证

brew --version # 输出:Homebrew 5.x.x

常用命令备忘

brew install <软件名> # 安装 brew uninstall <软件名> # 卸载 brew upgrade # 更新所有软件 brew list # 查看已安装列表 brew search <关键词> # 搜索软件

三、Oh My Zsh(终端增强)

是什么 & 为什么装

macOS 默认使用zsh作为 Shell,Oh My Zsh 是 zsh 的配置框架,提供:

  • 丰富的主题(好看的命令提示符)
  • 插件生态(git 状态显示、命令补全等)
  • 进入 git 仓库时自动显示当前分支名

不装会怎样:终端功能完整,只是用起来没那么顺手。非必须,但装了明显提升效率。

安装

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

安装时提示是否覆盖.zshrc,选Y。原文件自动备份为.zshrc.pre-oh-my-zsh,不会丢失之前的配置。


四、Git + SSH Key 配置

是什么 & 为什么装

Git是目前最主流的版本控制系统,用于追踪代码变更、多人协作开发。

SSH Key是非对称加密的身份认证方式。配置后,本机和代码托管平台之间免密通信,无需每次 push/pull 输入密码。

不配 SSH Key 会怎样:每次与远程仓库交互都需要输入用户名密码,且部分平台已不支持密码认证。

步骤一:配置 Git 用户信息

git config --global user.name "Your Name" git config --global user.email "your_email@example.com" # 验证 git config --global --list

这些信息会出现在每一次 commit 记录里,建议用真实姓名和常用邮箱。

步骤二:检查并修复 .ssh 目录权限

ls -la ~ | grep .ssh

正常输出:

drwx------ 3 yourusername staff 96 ...

如果所有者是root(新 Mac 偶尔出现):

sudo chown -R $(whoami) ~/.ssh chmod 700 ~/.ssh

权限不对会导致ssh-keygenPermission denied,必须先修复再继续。

步骤三:生成 SSH 密钥对

ssh-keygen -t ed25519 -C "your_email@example.com"

三次交互全部回车,使用默认值:

Enter file in which to save the key: # 回车 Enter passphrase: # 回车(不设密码) Enter same passphrase again: # 回车

生成两个文件:

  • ~/.ssh/id_ed25519私钥,绝对不能泄露,留在本机
  • ~/.ssh/id_ed25519.pub公钥,上传到 GitLab/GitHub

步骤四:将公钥添加到代码托管平台

# 查看公钥,复制完整的这一行 cat ~/.ssh/id_ed25519.pub # 输出示例:ssh-ed25519 AAAA...(很长)... your_email@example.com

将完整内容粘贴到 GitLab/GitHub 的 SSH Keys 设置页面。

步骤五:验证 SSH 连通性

ssh -T git@github.com # 成功输出:Hi username! You've successfully authenticated... # 如果是公司 GitLab ssh -T git@gitlab.example.com # 成功输出:Welcome to GitLab, @username!

⚠️ 常见问题

问题:平台报"密钥类型被禁止"或"密钥无效"

原因:粘贴时漏掉了开头的ssh-ed25519,只粘贴了中间的 Base64 内容。

必须粘贴完整的一整行,格式为:

ssh-ed25519 AAAA...(Base64内容)... your_email@example.com

五、克隆代码仓库

为什么单独说这一步

克隆是把远程仓库的代码下载到本地的操作,是日常开发的起点。有几个细节值得注意。

创建代码目录

Mac 不自带代码目录,建议统一放在一个地方便于管理:

mkdir -p ~/Develop cd ~/Develop

SSH 协议 vs HTTPS 协议

克隆仓库有两种地址格式:

协议格式特点
SSH(推荐)git@github.com:user/repo.git用密钥认证,免密,更安全
HTTPShttps://github.com/user/repo.git每次需要输入账号密码或 Token

始终优先使用 SSH 协议。

克隆命令

# 标准克隆(完整历史记录) git clone git@github.com:your-org/your-repo.git # 浅克隆(只拉最新一个版本,适合大仓库,速度更快) git clone --depth=1 git@github.com:your-org/your-repo.git

什么时候用--depth=1大型项目历史记录可能有几个 GB,浅克隆只拉最新代码,速度快很多。如果只是运行项目而不需要查看历史,用浅克隆即可。


六、JDK 11

是什么 & 为什么装

JDK(Java Development Kit)是 Java 开发工具包,包含运行环境、编译器、调试工具等。

为什么是 JDK 11:LTS(长期支持)版本,业界主流项目大多在 JDK 8/11/17 上运行,11 是兼容性和现代特性的最佳平衡点。

不装会怎样:无法编译和运行任何 Java 代码,Maven 也无法工作。

下载安装

推荐Microsoft Build of OpenJDK(免费、稳定):

👉 https://www.microsoft.com/openjdk

  • Apple Silicon→ 选macOS aarch64 .pkg
  • Intel 芯片→ 选macOS x64 .pkg

下载.pkg文件双击安装,按向导完成。

配置 JAVA_HOME

# 验证 JDK 路径 export JAVA_HOME=$(/usr/libexec/java_home) echo $JAVA_HOME # 示例:/Library/Java/JavaVirtualMachines/microsoft-11.jdk/Contents/Home # 写入 .zshrc,永久生效 echo "export JAVA_HOME=$(/usr/libexec/java_home -v 11)" >> ~/.zshrc source ~/.zshrc

为什么要设置 JAVA_HOME:Maven、Gradle 等工具启动时读取这个变量来定位 Java。不设置可能找不到 Java,或用了错误版本。

验证

java -version # 输出:openjdk version "11.0.25" ... echo $JAVA_HOME # 输出:JDK 11 路径

⚠️ 常见问题

Homebrew 安装 Maven 时顺带安装了新版 openjdk,导致版本混乱

# 检查当前版本 java -version # 如果不是 11,手动指定 echo "export JAVA_HOME=$(/usr/libexec/java_home -v 11)" >> ~/.zshrc source ~/.zshrc

七、Maven

是什么 & 为什么装

Maven 是 Java 生态最主流的项目构建和依赖管理工具,做三件事:

  1. 依赖管理— 自动下载项目所需第三方库,不需要手动管理 jar 包
  2. 项目构建— 编译、测试、打包一条命令搞定
  3. 标准化— 统一项目结构,让团队在同一套规范下工作

不装会怎样:无法构建绝大多数 Java 项目。

安装

brew install maven # 增加内存配置,防止大项目 OOM(内存溢出) echo 'export MAVEN_OPTS="$MAVEN_OPTS -Xmx4g"' >> ~/.zshrc source ~/.zshrc

内存参数参考:8GB 内存 Mac 建议-Xmx2g,16GB 及以上用-Xmx4g

配置 settings.xml

settings.xml是 Maven 核心配置文件,用于配置私有仓库地址、镜像源、认证信息等。

# 创建 Maven 本地目录 mkdir -p ~/.m2/ # 备份旧配置(如有) test -r ~/.m2/settings.xml && \ cp ~/.m2/settings.xml ~/.m2/settings.xml.$(date '+%Y%m%d').bak # 进入团队配置仓库目录(必须先 cd 进去) cd ~/Develop/your-config-repo git pull --rebase # 建立软链(必须在配置仓库目录内执行!) ln -fsv $(pwd)/path/to/settings.xml ~/.m2/settings.xml # 验证软链 ll ~/.m2/settings.xml # 应显示:settings.xml -> /Users/xxx/Develop/your-config-repo/...

为什么用软链:软链让本地配置和仓库保持同步,团队更新配置后git pull就能自动获取,不需要手动覆盖文件。

验证

mvn -version # 期望输出: # Apache Maven 3.9.x # Java version: 11.0.x, vendor: Microsoft # OS name: "mac os x", arch: "aarch64" ← Apple Silicon 原生应显示 aarch64

⚠️ 常见问题

软链路径错误(最高频的 Maven 异常根源)

必须进入配置仓库目录后再执行ln命令,$(pwd)会展开为当前路径:

# ✅ 正确:先进目录再执行 cd ~/Develop/your-config-repo ln -fsv $(pwd)/path/to/settings.xml ~/.m2/settings.xml # ❌ 错误:在其他目录执行,$(pwd) 展开为错误路径 # 即使命令不报错,软链也会指向一个不存在的路径

八、IntelliJ IDEA

是什么 & 为什么装

IntelliJ IDEA 是目前 Java 开发最主流的 IDE,提供智能代码补全、内置调试器、Git 可视化、Maven 项目管理等功能。

不装会怎样:可以用 VSCode 代替,但 IDEA 对 Java/Kotlin 的支持是业界最好的,大多数 Java 团队的标配。

下载安装

👉 https://www.jetbrains.com/idea/download

Apple Silicon 选 macOS Apple Silicon (.dmg),原生 arm64,性能比通用版好很多。

下载后双击.dmg,将 IDEA 图标拖到 Applications 文件夹完成安装。

配置 Checkstyle

团队项目通常有代码格式规范,安装后务必配置 Checkstyle:

  1. 打开 IDEA → Preferences → 搜索Checkstyle
  2. 安装 CheckStyle-IDEA 插件
  3. 导入团队的 checkstyle 配置文件

不配的后果:每次提交代码都会因格式问题被 CI 拦截,浪费大量时间在格式修复上。


九、最终 .zshrc 配置汇总

完成所有步骤后,~/.zshrc中应包含以下关键配置:

# Homebrew(Apple Silicon 必须) eval "$(/opt/homebrew/bin/brew shellenv)" # Java export JAVA_HOME=$(/usr/libexec/java_home -v 11) # Maven export MAVEN_OPTS="$MAVEN_OPTS -Xmx4g"

验证配置加载正常:

source ~/.zshrc echo $JAVA_HOME # 应输出 JDK 11 路径 echo $MAVEN_OPTS # 应输出 -Xmx4g which brew # 应输出 /opt/homebrew/bin/brew

十、常用终端操作速查

快捷键

快捷键效果
Control + U清除当前行所有输入
Control + C中断正在运行的命令
Control + A跳到行首
Control + E跳到行尾
Control + W删除前一个单词
Control + D退出当前 Shell
Command + K清空终端屏幕
Command + T新建标签页
Command + N新建终端窗口

常用命令

pwd # 查看当前路径 ls -la # 查看目录内容(含隐藏文件) cd ~/Develop # 进入目录 mkdir -p ~/foo # 创建目录(-p 自动创建父级) cat ~/.zshrc # 查看文件内容 source ~/.zshrc # 重新加载配置文件 which java # 查看命令实际路径 ll ~/.m2/settings.xml # 查看软链指向

全流程验证清单

# 基础工具链 xcode-select -p # ✅ 有路径输出 clang --version # ✅ Apple clang 版本号 git --version # ✅ git 2.x.x # 包管理 brew --version # ✅ Homebrew 5.x.x # SSH 连通性 ssh -T git@github.com # ✅ 认证成功提示 # Java 环境 java -version # ✅ openjdk 11.x.x echo $JAVA_HOME # ✅ 指向 JDK 11 mvn -version # ✅ Maven 3.x.x + Java 11 + aarch64 # Maven 配置 ll ~/.m2/settings.xml # ✅ 软链指向正确路径 # 服务治理(视团队要求) lsof -i:6604 # ✅ KESS Agent 监听正常 # 代码协作工具(视团队要求) kdev # ✅ 有帮助信息输出

高频坑汇总

问题现象根因解决方案
xcode-select --install卡住失败企业网络代理拦截苹果服务器换手机热点 / 安装完整版 Xcode
ssh-keygen报 Permission denied.ssh目录归 root 所有sudo chown -R $(whoami) ~/.ssh
brew: command not foundApple Silicon PATH 未配置.zshrc写入 brew shellenv
GitLab 报密钥无效公钥粘贴不完整,缺ssh-ed25519前缀重新cat ~/.ssh/id_ed25519.pub完整复制
Maven 构建找不到依赖settings.xml软链路径错误进入配置仓库目录,重新执行ln -fsv
mvn -version显示 Java 版本不对多个 JDK 版本共存,JAVA_HOME 指向错误export JAVA_HOME=$(/usr/libexec/java_home -v 11)
KESS Agent 安装包被系统拦截macOS 安全策略阻止未知开发者系统设置 → 隐私与安全性 → 仍然允许
kdev报 Permission denied安装时未用 sudo,/usr/local/bin/写入失败重新用sudo curl安装

按顺序走,每步验证通过再继续。遇到问题先对照坑汇总排查,90% 的情况不需要额外搜索。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询