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

news/2025/2/24 6:01:26

引言

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

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

一、配置 Java 环境变量

1. 安装 Java JDK

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

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

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

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

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

brew install openjdk@17

方式二:手动下载 Oracle JDK

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

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


2. 定位 JDK 安装路径

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

/usr/libexec/java_home -V

输出示例:

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、打开配置文件:(二选一)

# Zsh 用户
open -a TextEdit ~/.zshrc
# 或使用 nano 编辑器:
nano ~/.zshrc

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

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

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、应用配置

source ~/.zshrc    # Zsh 用户
source ~/.bash_profile  # Bash 用户

4. 验证 Java 配置

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

echo $JAVA_HOME   # 应输出 JDK 路径
java -version     # 应显示 Java 版本
javac -version    # 检查编译器版本


http://www.niftyadmin.cn/n/5864010.html

相关文章

uniapp实现移动端剪切板小功能

在制作移动端支付的项目时用到了剪切板这个功能,uniapp中想要实现这个功能会有一个问题。 uni.setClipboardData(OBJECT) 这个方法是用来设置系统剪贴板的内容,这个方法里的object的参数data,是放我们需要设置的内容。当然一般可以在succes…

加密数据的模糊查询

密文检索的功能实现是根据4位英文字符(半角),2个中文字符(全角)为一个检索条件。 将一个字段拆分为多个, 比如:taobao123 使用4个字符为一组的加密方式。 第一组 taob ,第二组aoba &…

【C语言】第五期——函数

目录 0 前言 1 定义函数 2 调用函数 3 函数的实参和形参 4 函数声明 5 作用域 5.1 局部变量和全局变量 5.2 static关键字 5.2.1 修饰局部变量 5.2.2 修饰全局变量 5.2.3 修饰函数 6 函数的返回值 6.1 return语句 6.2 函数返回值的类型 7 函数的其他形式 7.1 函…

rust学习笔记5-所有权机制

rust核心就是所有权机制,是其内存管理的核心特性,旨在消除内存安全问题(如空指针、悬垂指针、内存泄漏等)而无需依赖垃圾回收(GC) 1.首先看一下语义模型 当声明一个变量 let a "32";它的语义模…

vue3中解决组件间 css 层级问题最佳实践(Teleport的使用)

定义&#xff1a; <Teleport> 是 Vue 3 中引入的一个内置组件&#xff0c;用于将组件的内容渲染到 DOM 中的指定位置&#xff0c;而不受组件层级结构的限制。这在处理模态框、通知、下拉菜单等需要脱离当前组件层级的情况下非常有用。 通俗来说&#xff0c;Teleport的功…

C/C++中的字符串

字符串表示方式&#xff1a; 在C语言中&#xff0c;字符串实际上是一个字符数组&#xff08;字节数组&#xff09;&#xff0c;并且以空字符 \0 结尾。例如&#xff0c;字符串 "RUNOOB" 实际上在内存中表示为 {R, U, N, O, O, B, \0}。这个 \0 终止符告诉标准库函数&…

[AI]【Comfyui】 生成基本流程图的步骤保姆记录

在进行深度学习模型或图像生成的过程中,创建流程图能够帮助清晰地表达模型的工作流程和数据流动。本文将为您介绍生成基本流程图的一般步骤,适用于常见的深度学习图像生成模型。以下是该流程图的基本步骤: 1. 创建 Load Checkpoint 节点 流程图的第一步通常是加载已经训练好…

网页制作07-html,css,javascript初认识のhtml添加多媒体

在网页中&#xff0c;&#xff0c;除了可以添加文本和图像之外还可以插入动画声音视频等媒体元素&#xff0c;如滚动效果、 Flash、 Active x以及midi声音文件等 一、设置滚动效果 1、滚动标记marquee 1)简介:使用marquee标记不仅可以滚动文字&#xff0c;也可以移动图片表格…