关于在mac中配置Java系统环境变量

引言

在 macOS 上开发 Java 或 Flutter 应用时,正确配置环境变量是至关重要的。环境变量不仅能让系统找到开发工具的位置,还能简化命令行操作。本文将手把手教你从零开始安装 Java SDK,并详细配置环境变量,涵盖常见问题解决和优化技巧。

在 macOS 系统中配置 Java 环境变量的详细步骤如下:

一、配置 Java 环境变量

1. 安装 Java JDK

macOS 默认可能未安装 JDK(或版本较旧),以下是两种安装方式:

方式一:通过 Homebrew 安装(推荐)

1、安装 Homebrew(如果未安装):

bash 复制代码
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2、安装 OpenJDK(以 JDK 17 为例):

bash 复制代码
brew install openjdk@17

方式二:手动下载 Oracle JDK

  1. 访问 Oracle JDK 官网AdoptOpenJDKAzul Zulu选择 macOS 版本下载。

  2. 双击安装包完成安装。


2. 定位 JDK 安装路径

终端执行以下命令,获取 JDK 路径:

bash 复制代码
/usr/libexec/java_home -V

输出示例:

bash 复制代码
Matching Java Virtual Machines (1):
    17.0.1 (x86_64) "Oracle Corporation" - "OpenJDK 17.0.1" /Library/Java/JavaVirtualMachines/openjdk-17.0.1.jdk/Contents/Home

记录路径(如 /Library/Java/JavaVirtualMachines/openjdk-17.0.1.jdk/Contents/Home)。


3. 编辑环境变量文件

macOS 默认使用 Zsh Shell (Catalina 及以后版本),配置文件为 ~/.zshrc;旧版本可能使用 Bash,配置文件为 ~/.bash_profile

1、打开配置文件:(二选一)

bash 复制代码
# Zsh 用户
open -a TextEdit ~/.zshrc
# 或使用 nano 编辑器:
nano ~/.zshrc

# Bash 用户
open -a TextEdit ~/.bash_profile
# 或:
nano ~/.bash_profile

2、在文件末尾添加以下内容(替换为你的 JDK 路径):

bash 复制代码
export JAVA_HOME=/Library/Java/JavaVirtualMachines/openjdk-17.0.1.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

3、保存并退出:

TextEdit 用户:确保保存为 纯文本格式(菜单栏 → Format → Make Plain Text)。

Nano 用户:按 Ctrl + O → 回车 → Ctrl + X。

4、应用配置

bash 复制代码
source ~/.zshrc    # Zsh 用户
source ~/.bash_profile  # Bash 用户
4. 验证 Java 配置

终端输入以下命令检查是否成功:

bash 复制代码
echo $JAVA_HOME   # 应输出 JDK 路径
java -version     # 应显示 Java 版本
javac -version    # 检查编译器版本
相关推荐
腻害兔8 小时前
【若依项目-产品经理视角】深度拆解 RuoYi-Vue-Pro 商城模块:从商品管理到交易引擎,50 张表撑起一整套电商系统
java·大数据·vue.js·产品经理·ai编程
码智社9 小时前
AES加密原理详解及Java实现加解密实战
java·开发语言
a44931536210 小时前
iPhone Face ID 故障的分层诊断——原深感系统与主板加密配对机制
macos·ios·电脑·cocoa·iphone
萧瑟余晖10 小时前
JDK 26 新特性详解
java·开发语言
白玉cfc11 小时前
【iOS】内存五大分区
macos·ios·cocoa
马优晨11 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
维天说13 小时前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json
Zane199414 小时前
并发 vs 并行:别再傻傻分不清了,一文讲透 Java 并发编程的第一课
java·后端
噢,我明白了15 小时前
java中Excel的导入和导出(EasyExcel)
java·开发语言·excel
吠品15 小时前
Zabbix Web界面误报Server未运行的排查与解决
java·服务器·数据库