ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

在 macOS 上使用 Homebrew 安装 Java:OpenJDK 安装、符号链接修复与版本验证

在 macOS 上使用 Homebrew 安装 Java:OpenJDK 安装、符号链接修复与版本验证 文档教程知识库【免费下载链接】til:memo: Today I Learned项目地址https://gitcode.com/gh_mirrors/ti/til点击查看免费下载本指南整理自 java/install-java-on-mac-with-brew.md完整覆盖用 Homebrew 安装 Java → 遇到Unable to locate a Java Runtime报错 → 通过brew info openjdk获取符号链接命令 → 修复后验证java -version的完整链路。读完本文你将掌握 macOS 上 Homebrew 安装 OpenJDK 的标准流程理解为什么安装完成后系统仍然找不到 Java 运行时并能独立完成符号链接修复与最终验证。为什么在 macOS 上选择 Homebrew 安装 Java如果你的 Mac 上还没有安装任何 Java 环境最常见、最省事的方式就是通过 Homebrew 安装。brew install java安装的是 OpenJDK —— Java Development KitJDK即 Java 平台的开源实现它基于 OpenJDK 社区源码构建是当前 macOS 上使用最广泛的开源 Java 发行版之一。本仓库的 java/ 分类下收录了若干 Java 相关的实战笔记本文是其中的环境准备篇只有先把 JDK 装好、让系统能够识别java命令java/run-a-hello-world-program-in-eclipse.md 中的 Hello World 示例才能真正跑起来。第一步执行 brew install java在终端中直接执行$ brew install java这条命令会下载并安装当前 Homebrewopenjdk公式对应的 JDK 版本。安装过程需要一定时间需要拉取二进制包并解压到 Homebrew 的 Cellar 目录属于正常现象耐心等待即可。安装完成后第一直觉是立刻验证一下版本号$ java -version但如果你此前从未安装过任何 Java 运行时看到的往往不是版本号而是下面这段报错$ java -version The operation couldn’t be completed. Unable to locate a Java Runtime. Please visit http://www.java.com for information on installing Java.这正是本文要解决的经典坑Homebrew 明明装好了 JDK系统却说找不到 Java Runtime。根因Homebrew 没有把 OpenJDK完整接入系统这个报错的根源在于OpenJDK 这个开源实现并不会被 Homebrew 完全自动配置到系统中原文表述为 does not get fully set up by homebrew。具体来说Homebrew 的openjdk公式是一个keg-only仅驻留在自家目录的公式它会被安装到 Homebrew 的安装目录中但默认不会把自己的 JDK 包链接到 macOS 系统级的 Java 虚拟机注册目录/Library/Java/JavaVirtualMachines/macOS 自带的/usr/bin/java启动器launcher只会在上述系统目录里查找可用的 JDK。既然 OpenJDK 没有出现在那里系统自然就报出Unable to locate a Java Runtime。因此修复的关键一步是手动为openjdk建立符号链接symlink把它注册到系统目录中让/usr/bin/java能找到它。从 brew info openjdk 获取准确的符号链接命令不同机器上 Homebrew 的安装前缀不同Intel 芯片 Mac 为/usr/localApple Silicon 芯片 Mac 为/opt/homebrewopenjdk的实际安装路径也因此不同。与其手写一个可能错误的路径不如让 Homebrew 自己告诉我们准确命令。运行$ brew info openjdk输出中会有一段专门说明如何让系统 Java 启动器找到这个 JDK类似这样省略了其他信息... For the system Java wrappers to find this JDK, symlink it with sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk ...注意你机器上展示的路径可能与本示例不同Apple Silicon 机器上通常会是/opt/homebrew/opt/openjdk/libexec/openjdk.jdk。所以请直接复制输出中给出的那条命令原样执行不要照抄示例路径。复制命令后执行$ sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk这里对这条命令做一点拆解帮助你理解它做了什么参数含义sudo写入/Library/Java/JavaVirtualMachines/属于系统级目录需要管理员权限ln -s建立符号链接symbolic link而不是复制文件-f若目标位置已存在同名文件强制覆盖-n当目标本身是一个目录时把它当作普通文件处理避免误链进目录内部源路径openjdk安装目录中的.jdk包JDK 完整包体目标路径macOS 系统级 Java 虚拟机注册目录下的openjdk.jdk如果你对符号链接机制本身感兴趣本仓库的 unix/display-the-target-of-a-symbolic-link.md 专门介绍了如何用readlink查看一个符号链接实际指向的目标位置可以配合验证$ readlink /Library/Java/JavaVirtualMachines/openjdk.jdk /usr/local/opt/openjdk/libexec/openjdk.jdk再次验证java -version 输出 OpenJDK 版本信息符号链接建立之后重新执行版本检查$ java -version openjdk version 23 2024-09-17 OpenJDK Runtime Environment Homebrew (build 23) OpenJDK 64-Bit Server VM Homebrew (build 23, mixed mode, sharing)现在输出正常了。可以看到三行关键信息openjdk version 23JDK 主版本号具体版本取决于你安装时的openjdk公式版本示例为 23OpenJDK Runtime Environment Homebrew (build 23)运行时环境Runtime Environment来自 Homebrew 构建OpenJDK 64-Bit Server VM Homebrew (build 23, mixed mode, sharing)64 位 Server 虚拟机使用 mixed mode解释与 JIT 编译混合执行与 sharing共享类数据。至此Java 环境安装完成java、javac等命令都已可正常使用。进阶可选的环境变量与 Hello World 实战验证配置 JAVA_HOME可选但推荐许多构建工具Maven、Gradle、Eclipse 等依赖JAVA_HOME环境变量定位 JDK。你可以在 shell 配置文件中手动指向刚安装的 OpenJDK 主目录# 以示例的 Intel 路径为例Apple Silicon 机器请换成 /opt/homebrew/opt/openjdk/libexec/openjdk.jdk/Contents/Home export JAVA_HOME/usr/local/opt/openjdk/libexec/openjdk.jdk/Contents/Home注意JAVA_HOME指向的是.jdk包内的Contents/Home目录JDK 的实际 home 结构与系统目录符号链接的指向不同两者不要混淆。用 Hello World 收尾验证环境就绪后可以按本仓库 java/run-a-hello-world-program-in-eclipse.md 的指引在 Eclipse 中新建 Java 项目、创建带main方法的Greeting.java并运行用真实的程序跑通编译—执行闭环确认 JDK 不仅找得到而且跑得动。小结回顾整个流程核心经验可以浓缩为三点brew install java安装的是 OpenJDK安装后不会自动接入 macOS 系统 Java 注册目录java -version报 Unable to locate a Java Runtime 是正常现象而非安装失败运行brew info openjdk从输出中复制 Homebrew 针对你机器生成的sudo ln -sfn符号链接命令并执行即可完成系统级集成再次执行java -version验证看到OpenJDK Runtime Environment Homebrew字样即表示安装成功。本仓库的 README.md 在 Java 分类下列出了完整的 Java 相关笔记索引如果你还想了解 Homebrew 的其他日常维护技巧例如定期清理不再需要的安装产物可参考 brew/clean-up-your-brew-installations.md。赞分享文档教程知识库【免费下载链接】til:memo: Today I Learned项目地址https://gitcode.com/gh_mirrors/ti/til点击查看免费下载相关推荐macOS 上使用 Homebrew 安装 git-cliff从安装、验证到生成首个 ChangelogmacOS 上使用 Homebrew 安装 git cliff从安装、验证到生成首个 Changelog git cliff 是一款高度可定制的 ChangeCLI开发工具Eclipse Mosquitto 在 macOS 上通过 Homebrew 安装与使用指南Eclipse Mosquitto 在 macOS 上通过 Homebrew 安装与使用指南 本指南围绕 Eclipse Mosquitto 项目官方发布的一则后端消息队列消息路由mac-setup 实战用 Homebrew 在 macOS 上安装、启动与连接 PostgreSQLmac setup 实战用 Homebrew 在 macOS 上安装、启动与连接 PostgreSQL PostgreSQL 是一款开源的关系型数据库管理系统文档教程开发工具上一篇揭秘AFML项目量化投资者必备的高频数据处理与合成技术下一篇DLSS Swapper游戏画质优化的智能管家创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表