
本文面向刚拿到新 MacApple 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 是苹果提供的一套命令行编译工具包含clangC/C 编译器、make、git等基础开发工具。不装会怎样后续几乎所有工具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连手机热点后重新执行命令。问题2macOS beta 版本找不到 CLT 包beta 系统对应的 CLT 包可能尚未发布# 验证输出为空说明包还没上线 softwareupdate -l | grep Command Line Tools解决安装完整版 Xcode 并执行上方绑定命令效果完全等同 CLT。二、Homebrew包管理器是什么 为什么装Homebrew 是 macOS 上最主流的包管理器相当于 Linux 上的apt或yum。有了它安装任何开发工具只需一行命令不需要去各个官网手动下载安装包。不装会怎样可以手动安装各个工具但管理和更新会非常繁琐。强烈建议安装。安装/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作为 ShellOh 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_emailexample.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-keygen报Permission denied必须先修复再继续。步骤三生成 SSH 密钥对ssh-keygen -t ed25519 -C your_emailexample.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_emailexample.com将完整内容粘贴到 GitLab/GitHub 的 SSH Keys 设置页面。步骤五验证 SSH 连通性ssh -T gitgithub.com # 成功输出Hi username! Youve successfully authenticated... # 如果是公司 GitLab ssh -T gitgitlab.example.com # 成功输出Welcome to GitLab, username!⚠️ 常见问题问题平台报密钥类型被禁止或密钥无效原因粘贴时漏掉了开头的ssh-ed25519只粘贴了中间的 Base64 内容。必须粘贴完整的一整行格式为ssh-ed25519 AAAA...Base64内容... your_emailexample.com五、克隆代码仓库为什么单独说这一步克隆是把远程仓库的代码下载到本地的操作是日常开发的起点。有几个细节值得注意。创建代码目录Mac 不自带代码目录建议统一放在一个地方便于管理mkdir -p ~/Develop cd ~/DevelopSSH 协议 vs HTTPS 协议克隆仓库有两种地址格式协议格式特点SSH推荐gitgithub.com:user/repo.git用密钥认证免密更安全HTTPShttps://github.com/user/repo.git每次需要输入账号密码或 Token始终优先使用 SSH 协议。克隆命令# 标准克隆完整历史记录 git clone gitgithub.com:your-org/your-repo.git # 浅克隆只拉最新一个版本适合大仓库速度更快 git clone --depth1 gitgithub.com:your-org/your-repo.git什么时候用--depth1大型项目历史记录可能有几个 GB浅克隆只拉最新代码速度快很多。如果只是运行项目而不需要查看历史用浅克隆即可。六、JDK 11是什么 为什么装JDKJava Development Kit是 Java 开发工具包包含运行环境、编译器、调试工具等。为什么是 JDK 11LTS长期支持版本业界主流项目大多在 JDK 8/11/17 上运行11 是兼容性和现代特性的最佳平衡点。不装会怎样无法编译和运行任何 Java 代码Maven 也无法工作。下载安装推荐Microsoft Build of OpenJDK免费、稳定 https://www.microsoft.com/openjdkApple Silicon→ 选macOS aarch64 .pkgIntel 芯片→ 选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_HOMEMaven、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 生态最主流的项目构建和依赖管理工具做三件事依赖管理— 自动下载项目所需第三方库不需要手动管理 jar 包项目构建— 编译、测试、打包一条命令搞定标准化— 统一项目结构让团队在同一套规范下工作不装会怎样无法构建绝大多数 Java 项目。安装brew install maven # 增加内存配置防止大项目 OOM内存溢出 echo export MAVEN_OPTS$MAVEN_OPTS -Xmx4g ~/.zshrc source ~/.zshrc内存参数参考8GB 内存 Mac 建议-Xmx2g16GB 及以上用-Xmx4g。配置 settings.xmlsettings.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/downloadApple Silicon 选 macOS Apple Silicon (.dmg)原生 arm64性能比通用版好很多。下载后双击.dmg将 IDEA 图标拖到 Applications 文件夹完成安装。配置 Checkstyle团队项目通常有代码格式规范安装后务必配置 Checkstyle打开 IDEA → Preferences → 搜索Checkstyle安装 CheckStyle-IDEA 插件导入团队的 checkstyle 配置文件不配的后果每次提交代码都会因格式问题被 CI 拦截浪费大量时间在格式修复上。九、最终 .zshrc 配置汇总完成所有步骤后~/.zshrc中应包含以下关键配置# HomebrewApple 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退出当前 ShellCommand 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 gitgithub.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卡住失败企业网络代理拦截苹果服务器换手机热点 / 安装完整版 Xcodessh-keygen报 Permission denied.ssh目录归 root 所有sudo chown -R $(whoami) ~/.sshbrew: command not foundApple Silicon PATH 未配置向.zshrc写入 brew shellenvGitLab 报密钥无效公钥粘贴不完整缺ssh-ed25519前缀重新cat ~/.ssh/id_ed25519.pub完整复制Maven 构建找不到依赖settings.xml软链路径错误进入配置仓库目录重新执行ln -fsvmvn -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% 的情况不需要额外搜索。