M4芯片MAC安装java环境

目录

[1. 前提条件](#1. 前提条件)

[2. 安装命令](#2. 安装命令)

安装jdk

配置jdk

[验证安装 + 配置成功](#验证安装 + 配置成功)

[将 JDK11 接入 jenv 版本管理](#将 JDK11 接入 jenv 版本管理)

安装jdk21

[将 JDK11 接入 jenv 版本管理](#将 JDK11 接入 jenv 版本管理)


1. 前提条件

需要自己安装brew和终端(比如iterm2)

2. 安装命令

安装jdk

bash 复制代码
brew install openjdk@11

配置jdk

bash 复制代码
# M4芯片 JDK11 环境变量一键配置(复制全部执行)
echo 'export JAVA_HOME="/opt/homebrew/opt/openjdk@11"' >> ~/.zshrc
echo 'export PATH="$JAVA_HOME/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

验证安装 + 配置成功

bash 复制代码
# 1. 验证Java运行环境版本(核心,必须显示11.x.x)
java -version

# 2. 验证Java编译器(确认是完整JDK,非仅JRE)
javac -version

# 3. 验证JAVA_HOME路径(确认配置正确)
echo $JAVA_HOME



# 上述命令标准输出
# java -version 输出
openjdk version "11.0.25" 2024-07-16 LTS
OpenJDK Runtime Environment Homebrew (build 11.0.25+0)
OpenJDK 64-Bit Server VM Homebrew (build 11.0.25+0, mixed mode)

# javac -version 输出
javac 11.0.25

# echo $JAVA_HOME 输出
/opt/homebrew/opt/openjdk@11

注意:如果echo $JAVA_HOME没有输出,关闭终端,重新打开。

将 JDK11 接入 jenv 版本管理

bash 复制代码
# 1. 安装jenv(未装的话执行这行)
brew install jenv

# 2. 配置jenv环境变量(M4专属,永久生效)
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc
source ~/.zshrc

# 3. 把JDK11 注册到jenv(M4固定路径,直接复制)
jenv add /opt/homebrew/opt/openjdk@11

# 4. 全局切换为JDK11(核心,生效所有终端/项目)
jenv global 11

# 5. 验证jenv接管成功(可选)
jenv versions

安装jdk21

bash 复制代码
brew install openjdk@21

将 JDK21 接入 jenv 版本管理

bash 复制代码
# 1. 把JDK21 注册到jenv(M4固定路径,直接复制)
jenv add /opt/homebrew/opt/openjdk@21

# 2. 全局切换为JDK11(核心,生效所有终端/项目)
jenv global 21

# 3. 验证jenv接管成功(可选)
jenv versions
相关推荐
FQNmxDG4S6 小时前
Java多线程编程:Thread与Runnable的并发控制
java·开发语言
虹科网络安全7 小时前
艾体宝干货|数据复制详解:类型、原理与适用场景
java·开发语言·数据库
axng pmje7 小时前
Java语法进阶
java·开发语言·jvm
rKWP8gKv77 小时前
Java微服务性能监控:Prometheus与Grafana集成方案
java·微服务·prometheus
老前端的功夫7 小时前
【Java从入门到入土】28:Stream API:告别for循环的新时代
java·开发语言·python
qq_435287927 小时前
第9章 夸父逐日与后羿射日:死循环与进程终止?十个太阳同时值班的并行冲突
java·开发语言·git·死循环·进程终止·并行冲突·夸父逐日
小江的记录本7 小时前
【Kafka核心】架构模型:Producer、Broker、Consumer、Consumer Group、Topic、Partition、Replica
java·数据库·分布式·后端·搜索引擎·架构·kafka
yaoxin5211238 小时前
397. Java 文件操作基础 - 创建常规文件与临时文件
java·开发语言·python
极客先躯10 小时前
高级java每日一道面试题-2025年11月24日-容器与虚拟化题[Dockerj]-runc 的作用是什么?
java·oci 的命令行工具·最小可用·无守护进程·完全标准·创建容器的核心流程·runc 核心职责思维导图
用户606487671889610 小时前
AI 抢不走的技能:用 Claude API 构建自动化工作流实战
java