当前位置: 首页 > news >正文

Mac 上用 Homebrew 安装 JDK 8(适配 zsh 终端)完整教程

在 Mac 开发 Java 项目时,很多小伙伴需要安装 JDK 8。
使用 Homebrew 安装不仅方便,而且易于管理多个 JDK 版本。本文整理了 从安装到配置环境变量的完整步骤,小白也能照着操作。


一、确认 Homebrew 是否安装

在终端输入:

brew -v
  • 如果显示版本号,说明已安装 Homebrew,可以跳到下一步。
  • 如果提示 command not found,说明未安装 Homebrew,需要先安装:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装完成后,按照终端提示配置环境变量(zsh 默认用 ~/.zprofile):

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

二、添加 JDK 版本源(可选,但推荐)

为了安装不同版本的 JDK,可以添加 Homebrew 的版本源:

brew tap homebrew/cask-versions

这个源包含了 JDK 8、11、17 等不同版本。


三、安装 JDK 8

方式 1:安装 Temurin 8(推荐)

brew install --cask temurin8

Temurin 是 Eclipse Adoptium 提供的 OpenJDK,稳定可靠,适合日常开发。

方式 2:安装 AdoptOpenJDK 8(旧版)

brew install --cask adoptopenjdk8

现在已经逐渐被 Temurin 取代,一般建议使用 Temurin。


四、配置 JAVA_HOME

安装完成后,需要配置环境变量,让终端和开发工具都能识别 JDK 8。

1. 查看 JDK 安装路径

/usr/libexec/java_home -V

输出示例:

1.8.0_362, x86_64: "Temurin 8" /Library/Java/JavaVirtualMachines/temurin-8.jdk/Contents/Home

2. 配置 zsh 环境变量

编辑 ~/.zshrc

nano ~/.zshrc

在末尾添加:

export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
export PATH=$JAVA_HOME/bin:$PATH

3. 刷新配置

source ~/.zshrc

4. 验证 JDK 版本

java -version

输出示例:

openjdk version "1.8.0_362"
OpenJDK Runtime Environment (Temurin)(build 1.8.0_362-b09)
OpenJDK 64-Bit Server VM (Temurin)(build 25.362-b09, mixed mode)

✅ 说明 JDK 8 安装成功并生效。


五、可选:多版本 JDK 管理(jenv)

如果你以后还要用 JDK 11、17,可以安装 jenv 来管理多版本:

brew install jenv

配置 zsh:

echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc
source ~/.zshrc

添加 JDK:

jenv add /Library/Java/JavaVirtualMachines/temurin-8.jdk/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home

切换 JDK:

jenv global 1.8
jenv local 17

这样就可以灵活切换 JDK 版本了。


六、小结

  • Homebrew + Temurin 是 Mac 上安装 JDK 8 最简单稳定的方法
  • 配置 JAVA_HOME 后,终端和 IDE 都会识别
  • 可选安装 jenv 管理多版本 JDK

使用 Homebrew 安装 JDK,不仅方便,还可以轻松升级和卸载,适合日常开发和多版本管理。


http://www.dtcms.com/a/464821.html

相关文章:

  • 利用小偷程序做网站企业网站开发建设
  • K8S基本命令操作
  • 【kubernetes/k8s源码分析】kube-controller-manager之node controller源码分析
  • SMOTE 算法详解:解决不平衡数据问题的有效工具
  • HGDB集群(安全版)repmgr手动切换主备库
  • 三维GIS数据转换指南:SHAPE文件到3DTiles的高效实现方案
  • K8S(三)—— 基于kubeadm 1.20版本部署Kubernetes集群与Harbor私有仓库实战
  • 宁波外贸网站制作公司手机网站建设哪家公司好
  • 【C语言实战(8)】C语言循环结构(do-while):解锁编程新境界
  • 面向Qt/C++开发工程师的Ai提示词(附Trae示例)
  • sqlite 使用: 01-源码编译与使用
  • Django视图进阶:快捷函数、装饰器与请求响应
  • 企业营销网站的建设网站开发响应式
  • 掌握DMA基于GD32F407VE的天空星的配置
  • 基于腾讯云的物联网导盲助手设计与实现(论文+源码)
  • Vue3打造高效前端埋点系统
  • 框架--Maven
  • 【Java集合】
  • 停止Conda开机自动运行方法
  • 湘潭市高新建设局施工报建网站wordpress 宕机
  • 复杂结构数据挖掘(二)关联规则挖掘 Association rule mining
  • Windows 上安装 PostgreSQL
  • 基于JETSON/x86+FPGA+AI的5G远程驾驶座舱时延验证方案
  • 支持向量机(SVM)完全解读
  • 单片机学习日记
  • 重庆网站制作多少钱app设计开发哪家好
  • AI大模型学习(17)python-flask AI大模型和图片处理工具的从一张图到多平台适配的简单方法
  • 如何通过 7 种解决方案将文件从PC无线传输到Android
  • Word 为每一页设置不同页边距(VBA 宏)
  • wordpiece、unigram、sentencepiece基本原理