0

0

在Java中如何在macOS上配置开发环境_JavaMac环境安装步骤解析

P粉602998670

P粉602998670

发布时间:2026-01-20 11:29:03

|

602人浏览过

|

来源于php中文网

原创

macOS 12+默认不预装JDK,需用SDKMAN!安装OpenJDK(如temurin-17.0.9+9)并配置~/.zshrc;IDE和Gradle/Maven须显式指定JAVA_HOME为~/.sdkman/candidates/java/current。

在java中如何在macos上配置开发环境_javamac环境安装步骤解析

确认系统自带的 Java 是否可用

macOS 12(Monterey)及之后版本默认不再预装 JDK,但部分旧版本可能残留 /usr/bin/java 指向一个仅含 JRE 的 Apple 提供版本。运行 java -versionjavac -version 很可能报错:command not found: javac 或提示 “No Java runtime present”。这说明你缺的是 JDK,不是 JRE。

不要依赖 brew install java(它只装 JRE),也不要手动下载 Oracle JDK 后双击安装——macOS 会把它放进 /Library/Java/JavaVirtualMachines/,但环境变量不会自动配置。

  • 检查已安装 JDK 列表:/usr/libexec/java_home -V
  • 若输出为空,说明没有可识别的 JDK;若有输出但无 javac,说明装的是 JRE
  • 推荐用 SDKMAN! 或 Homebrew 安装 OpenJDK,避免权限和路径混乱

用 SDKMAN! 安装并切换 JDK 版本

SDKMAN! 是最稳妥的 Java 多版本管理工具,尤其适合需要在不同项目间切换 JDK(如 Java 8 / 17 / 21)的场景。它不依赖系统级安装,所有 JDK 都放在用户目录下,export 路径干净可控。

执行以下命令:

立即学习Java免费学习笔记(深入)”;

雾象
雾象

WaytoAGI推出的AI动画生成引擎

下载
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk list java

选一个 LTS 版本安装(例如 temurin-17.0.9+9):

sdk install java 17.0.9-temurin
sdk use java 17.0.9-temurin
  • sdk use 只对当前 shell 有效;要永久生效,把 source "$HOME/.sdkman/bin/sdkman-init.sh" 加入 ~/.zshrc(macOS Catalina 及以后默认用 zsh)
  • 验证:java -versionjavac -version 输出应一致,且包含 “Temurin” 或 “Eclipse Adoptium” 字样
  • 避免混用:卸载掉 /Library/Java/JavaVirtualMachines/ 下非 SDKMAN! 管理的 JDK,防止 java_home 返回多个路径导致 IDE 识别错乱

IntelliJ IDEA 或 VS Code 中正确识别 JDK

IDE 不读取 shell 的 PATH,而是依赖 java.home 设置或自动扫描 $JAVA_HOME。如果新建项目仍提示 “Cannot resolve symbol java.lang.Object”,大概率是没配对 JDK 路径。

  • IntelliJ:Preferences → Project → Project SDK → Add JDK → 选择 ~/.sdkman/candidates/java/current(或展开路径选具体版本)
  • VS Code + Extension Pack for Java:在设置中搜 java.home,设为 ~/.sdkman/candidates/java/current
  • 别用 /usr/libexec/java_home -v 17 输出的路径——它可能指向系统级安装位置,而 SDKMAN! 的 JDK 在用户目录,路径更稳定
  • 重启 IDE;打开终端运行 which java,确认指向 ~/.sdkman/candidates/java/current/bin/java

Gradle/Maven 构建时 JDK 不一致的问题

即使终端里 java -version 正确,Gradle 可能仍用错 JDK——因为 Gradle 默认读 org.gradle.java.home$JAVA_HOME,而非当前 shell 的 java 命令。

  • 检查:gradle -version 输出中的 “JVM” 行是否与你期望的 JDK 一致
  • 临时指定:org.gradle.java.home=$HOME/.sdkman/candidates/java/current ./gradlew build
  • 永久设置:在 ~/.gradle/gradle.properties 中加一行:org.gradle.java.home=/Users/yourname/.sdkman/candidates/java/current
  • Maven 类似:确保 mvn -v 显示的 Java home 与 SDKMAN! 路径一致;否则在 ~/.mavenrc 中写 export JAVA_HOME=$HOME/.sdkman/candidates/java/current

最容易被忽略的是:IDE 内嵌终端(如 IntelliJ Terminal)默认不加载 ~/.zshrc,所以即使你配了 SDKMAN!,新开的 IDE 终端里 java 命令可能还是找不到——需要在 IDE 设置里勾选 “Shell integration” 或手动 source。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
eclipse教程
eclipse教程

php中文网为大家带来eclipse教程合集,eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。php中文网还为大家带来eclipse的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

194

2023.06.14

eclipse怎么设置中文
eclipse怎么设置中文

eclipse设置中文的方法:除了设置界面为中文外,你还可以为Eclipse添加中文插件,以便更好地支持中文编程。例如,你可以安装EBNF插件来支持中文变量名,或安装Chinese Helper来提供中文帮助文档。本专题为大家提供eclipse设置中文相关的各种文章、以及下载和课程。

807

2023.07.24

c语言编程软件有哪些
c语言编程软件有哪些

c语言编程软件有GCC、Clang、Microsoft Visual Studio、Eclipse、NetBeans、Dev-C++、Code::Blocks、KDevelop、Sublime Text和Atom。更多关于c语言编程软件的问题详情请看本专题的文章。php中文网欢迎大家前来学习。

623

2023.11.02

Eclipse版本号有哪些区别
Eclipse版本号有哪些区别

区别:1、Eclipse 3.x系列:Eclipse的早期版本,包括3.0、3.1、3.2等;2、Eclipse 4.x系列:Eclipse的最新版本,包括4.0、4.1、4.2等;3、Eclipse IDE for Java Developers等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

180

2024.02.23

eclipse和idea有什么区别
eclipse和idea有什么区别

eclipse和idea的区别:1、平台支持;2、内存占用;3、插件系统;4、智能代码提示;5、界面设计;6、调试功能;7、学习曲线。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

152

2024.02.23

eclipse设置中文全教程
eclipse设置中文全教程

本专题整合了eclipse设置中文相关教程,阅读专题下面的文章了解更多详细操作。

116

2025.10.10

eclipse字体放大教程
eclipse字体放大教程

本专题整合了eclipse字体放大教程,阅读专题下面的文章了解更多详细内容。

155

2025.10.10

eclipse左边栏不见了解决方法
eclipse左边栏不见了解决方法

本专题整合了eclipse左边栏相关教程,阅读专题下面的文章了解更多详细内容。

120

2025.10.15

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

76

2026.03.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
SQL 教程
SQL 教程

共61课时 | 4.3万人学习

Java 教程
Java 教程

共578课时 | 81.1万人学习

oracle知识库
oracle知识库

共0课时 | 0.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号