在macOS上如何配置Java开发环境_Java环境变量设置说明

发布时间 - 2025-12-25 00:00:00    点击率:
macOS配置Java开发环境需安装JDK并设置JAVA_HOME和PATH:先用java -version确认版本,推荐Adoptium Temurin等JDK;通过/usr/libexec/java_home -V查路径,再在~/.zshrc中导出JAVA_HOME和更新PATH,最后source生效。

在 macOS 上配置 Java 开发环境,核心是正确安装 JDK 并设置好 JAVA_HOMEPATH 环境变量。系统自带的 Java(旧版)通常不支持现代开发,建议使用官方或主流开源 JDK(如 Oracle JDK、Adoptium Temurin、Azul Zulu 或 Amazon Corretto)。

确认已安装合适的 JDK

打开终端,运行:

java -version

如果提示“command not found”,说明未安装 JDK;如果版本过低(如 1.8 且你需要 Java 17+),需重新安装。推荐从以下任一渠道下载安装:

  • Adoptium(Eclipse Temurin):https://adoptium.net/(免费、主流、更新及时)
  • Zulu(Azul):https://www.azul.com/downloads/(含 LTS 和最新版)
  • Oracle JDK:https://www.oracle.com/java/technologies/downloads/(需注册,个人免费)

安装 .dmg 后,JDK 默认路径为 /Library/Java/JavaVirtualMachines/.jdk/Contents/Home

查找并验证 JAVA_HOME 路径

终端中执行以下命令,列出所有已安装 JDK:

/usr/libexec/java_home -V

输出类似:

17.0.1 (x86_64) "Eclipse Temurin" - "Eclipse Temurin 17" /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home
11.0.20 (x86_64) "Amazon.com Inc." - "Amazon Corretto 11" /Library/Java/JavaVirtualMachines/amazon-corretto-11.jdk/Contents/Home

复制你希望默认使用的 JDK 的完整路径(即 /Library/.../Home 那一行),这就是你要设的 JAVA_HOME 值。

设置 JAVA_HOME 和 PATH(针对 zsh)

macOS Catalina(10.15)及之后默认使用 zsh,配置文件是 ~/.zshrc。编辑它:

nano ~/.zshrc

在文件末尾添加(请将路径替换为你查到的实际路径):

export JAVA_HOME=/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

保存后退出(Ctrl+O → Enter → Ctrl+X),再执行:

source ~/.zshrc

验证是否生效:

echo $JAVA_HOME
java -version

两个命令都应输出预期结果,无报错即成功。

IDE 和终端保持一致(可选但推荐)

某些 IDE(如 IntelliJ IDEA)可能不读取 shell 的 .zshrc,尤其是通过 Dock 或 Spotlight 启动时。解决方法:

  • 在 IntelliJ 中:Preferences → Build, Execution, Deployment → Build Tools → Maven → Importing → JDK for importer → 选择对应 JDK
  • 或统一用终端启动 IDE:open -a "IntelliJ IDEA"(确保该终端已加载 .zshrc
  • VS Code 用户:确保在 VS Code 内置终端中执行 source ~/.zshrc,或在 settings.json 中设置 "terminal.integrated.env.osx": { "JAVA_HOME": "/path/to/jdk" }

不复杂但容易忽略


# oracle  # java  # js  # json  # idea  # mac  # eclipse  # macos  # 环境变量  # 解决方法  # 配置文件 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  Thinkphp 中 distinct 的用法解析  详解jQuery中的事件  Mybatis 中的insertOrUpdate操作  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  Laravel如何使用模型观察者?(Observer代码示例)  Laravel如何创建自定义中间件?(Middleware代码示例)  Laravel Session怎么存储_Laravel Session驱动配置详解  如何用AI帮你把自己的生活经历写成一个有趣的故事?  IOS倒计时设置UIButton标题title的抖动问题  详解Oracle修改字段类型方法总结  Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  如何快速搭建虚拟主机网站?新手必看指南  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  微信小程序 HTTPS报错整理常见问题及解决方案  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  JavaScript数据类型有哪些_如何准确判断一个变量的类型  如何快速配置高效服务器建站软件?  佛山网站制作系统,佛山企业变更地址网上办理步骤?  Python数据仓库与ETL构建实战_Airflow调度流程详解  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  如何在云指建站中生成FTP站点?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  如何用虚拟主机快速搭建网站?详细步骤解析  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  如何将凡科建站内容保存为本地文件?  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  Android Socket接口实现即时通讯实例代码  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧  Laravel怎么清理缓存_Laravel optimize clear命令详解  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  JavaScript如何实现音频处理_Web Audio API如何工作?  Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  高防服务器:AI智能防御DDoS攻击与数据安全保障  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  如何快速查询域名建站关键信息?