使用 Homebrew 安装 OpenJDK 并配置环境变量

在 macOS 上使用 Homebrew 安装 OpenJDK 是一种简单而高效的方式。本文将使用 Homebrew 安装 OpenJDK,并设置环境变量以便 Java 能够正确运行。

1. 安装 Homebrew

首先,确保你的 macOS 系统已经安装了 Homebrew。如果没有安装,可以通过以下命令进行安装:

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

运行该命令后,Homebrew 会自动下载并安装。安装完成后,可以运行以下命令验证安装是否成功:

brew --version

如果安装成功,会显示类似如下的版本信息:

Homebrew 3.x.x

2. 使用 Homebrew 安装 OpenJDK

接下来,我们使用 Homebrew 安装 OpenJDK。你可以选择安装最新版本的 OpenJDK,或者安装一个特定版本。默认情况下,Homebrew 会安装最新版本的 OpenJDK。

运行以下命令来安装 OpenJDK:

brew install openjdk

安装过程完成后,你可以使用以下命令确认 OpenJDK 已经正确安装:

java -version

如果安装成功,应该会输出类似以下内容:

openjdk version "23.0.2" 2023-09-19
OpenJDK Runtime Environment (Homebrew) (build 23.0.2+1)
OpenJDK 64-Bit Server VM (Homebrew) (build 23.0.2+1, mixed mode)

3. 配置 JDK 环境变量

安装完 OpenJDK 后,你需要设置 JAVA_HOME 环境变量,以便系统能够找到 Java 安装目录。为了确保环境变量配置正确,需要编辑你的 shell 配置文件。

如果你使用 Zsh(macOS 默认 shell),你需要修改 ~/.zshrc 文件。如果你使用 Bash,则需要修改 ~/.bash_profile~/.bashrc 文件。

配置步骤:

  1. 打开终端并编辑 ~/.zshrc 文件:

    nano ~/.zshrc
    
  2. 在文件末尾添加以下两行内容:

    export JAVA_HOME="/opt/homebrew/opt/openjdk"
    export PATH="$JAVA_HOME/bin:$PATH"
    
    • 第一行设置了 JAVA_HOME 环境变量,指向 Homebrew 安装的 OpenJDK 路径。
    • 第二行将 Java 可执行文件的路径添加到 PATH 环境变量中,确保你可以在终端中直接运行 Java 工具,如 javajavac
  3. 保存文件并关闭编辑器(在 nano 中,按 Ctrl + X,然后按 Y,最后按 Enter)。

  4. 使更改生效:

    source ~/.zshrc
    

ps:环境变量也可以配置在 .zprofile(适用于全局环境变量)

4. 验证 Java 配置

完成环境变量配置后,运行以下命令确认 JAVA_HOME 已正确设置,并且 Java 工具能够正常使用:

  • 检查 JAVA_HOME 是否正确:

    echo $JAVA_HOME
    

    输出应该为:

    /opt/homebrew/opt/openjdk
    
  • 验证 java 命令是否工作正常:

    java -version
    

    如果配置成功,应该看到类似如下的输出:

    openjdk version "23.0.2" 2023-09-19
    OpenJDK Runtime Environment (Homebrew) (build 23.0.2+1)
    OpenJDK 64-Bit Server VM (Homebrew) (build 23.0.2+1, mixed mode)
    

    在这里插入图片描述

5. 常见问题

Q1: 为什么 java -version 显示的版本不正确?

A1: 确保你的 JAVA_HOMEPATH 配置正确。运行 echo $JAVA_HOMEecho $PATH 来检查它们的值。如果有多个 Java 版本安装在系统中,确保你的环境变量指向 Homebrew 安装的 OpenJDK。

Q2: 能否安装多个版本的 OpenJDK?

A2: 可以安装多个版本的 OpenJDK。例如,安装 OpenJDK 11 可以使用以下命令:

brew install openjdk@11

然后,按照上述步骤为该版本设置 JAVA_HOME

总结

通过 Homebrew 安装 OpenJDK 是一种简单高效的方式。在安装 OpenJDK 后,记得正确配置 JAVA_HOMEPATH 环境变量,以便你能够在系统中方便地使用 Java。这样,你就可以开始使用 Java 开发、运行 Java 应用程序或者构建 Java 项目了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/73568.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java集合简单理解

Java 的集合框架(Java Collections Framework, JCF)是 Java 中用于存储和操作数据结构的核心库,提供了丰富的接口和实现类,用于处理不同类型的集合数据。以下是详细的介绍: 一、集合框架的体系结构 Java 集合主要分为…

群体智能优化算法-旗鱼优化算法 (Sailfish Optimizer, SFO,含Matlab源代码)

摘要 旗鱼优化算法(Sailfish Optimizer, SFO)是一种模拟旗鱼(Sailfish)和沙丁鱼(Sardine)之间捕食关系的新型元启发式算法。通过在搜索过程中模拟旗鱼对沙丁鱼的捕食行为,以及沙丁鱼群的逃逸与…

【C语言】编译和链接详解

hi,各位,让我们开启今日份博客~ 小编个人主页点这里~ 目录 一、翻译环境和运行环境1、翻译环境1.1预处理(预编译)1.2编译1.2.1词法分析1.2.2语法分析1.2.3语义分析 1.3汇编1.4链接 2.运行环境 一、翻译环境和运行环境 在ANSI C…

VIC模型率定验证

在气候变化问题日益严重的今天,水文模型在防洪规划,未来预测等方面发挥着不可替代的重要作用。目前,无论是工程实践或是科学研究中都存在很多著名的水文模型如SWAT/HSPF/HEC-HMS等。虽然,这些软件有各自的优点;但是&am…

【AWS入门】AWS云计算简介

【AWS入门】AWS云计算简介 A Brief Introduction to AWS Cloud Computing By JacksonML 什么是云计算?云计算能干什么?我们如何利用云计算?云计算如何实现? 带着一系列问题,我将做一个普通布道者,引领广…

Flutter_学习记录_ ImagePicker拍照、录制视频、相册选择照片和视频、上传文件

插件地址&#xff1a;https://pub.dev/packages/image_picker 添加插件 添加配置 android无需配置开箱即用&#xff0c;ios还需要配置info.plist <key>NSPhotoLibraryUsageDescription</key> <string>应用需要访问相册读取文件</string> <key>N…

蓝桥与力扣刷题(蓝桥 星期计算)

题目&#xff1a;已知今天是星期六&#xff0c;请问 20^22 天后是星期几? 注意用数字 1 到 7 表示星期一到星期日。 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 解题思路&#xff0b;代码&#xff1a; 代码&#xff1…

向量数据库原理及选型

向量数据库 什么是向量什么是向量数据库原理应用场景 向量数据库的选型主流向量数据库介绍向量数据库对比主流向量数据库对比表 选型建议 什么是向量 向量是一组有序的数值&#xff0c;表示在多维空间中的位置或方向。向量通常用一个列或行的数字集合来表示&#xff0c;这些数…

以实现生产制造、科技研发、人居生活等一种或多种复合功能的智慧油站开源了

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒&#xff0c;省去繁琐重复的适配流程&#xff0c;实现芯片、算法、应用的全流程组合&#xff0c;从而大大减少企业级应用约95%的开发成本。用…

小程序网络大文件缓存方案

分享一个小程序网络大图加载慢的解决方案 用到的相关api getSavedFileList 获取已保存的文件列表&#xff1b;getStorageSync 获取本地缓存&#xff1b;downloadFile 下载网络图片&#xff1b;saveFile 保存文件到本地&#xff1b;setStorage 将数据储存到小程序本地缓存&…

软考系统架构师 — 3 操作系统

目录 3.1 考点分析 3.1 操作系统概述 3.1.1 操作系统的功能 3.1.2 操作系统的分类 3.1.3 嵌入式操作系统主要特点 3.2 进程 3.2.1 进程的组成和状态 3.2.2 前趋图与进程资源图&#xff08;重点&#xff09; 3.2.3 进程同步与互斥 3.2.4 进程调度 3.2.5 死锁 3.3 线…

PE,ELF,COFF

本文来自 (1)腾讯元宝 (2)程序员的自我修养 PE&#xff08;Portable Executable&#xff09;是一种文件格式&#xff0c;主要用于Windows操作系统中的可执行文件&#xff08;如.exe、.dll、.sys等&#xff09;。PE格式是Windows操作系统中标准的可执行文件格式&#xff0c;由…

MySQL 在 CentOS 7 上安装的步骤指南

目录 1. 卸载不需要的环境 2. 获取 MySQL YUM 仓库 3. 安装 MySQL 4. 启动 MySQL 服务 5. 获取临时 Root 密码 6. 登录 MySQL 7. 更改 Root 密码 8. 设置 MySQL 开机自启动 9. 配置 MySQL 编码 10. 重启 MySQL 配置生效 11. 常见问题解决 1. 卸载不需要的环境 如果…

C++初阶——类和对象(三) 构造函数、析构函数

C初阶——类和对象&#xff08;三&#xff09; 上期内容&#xff0c;我们围绕类对象模型的大小计算&#xff0c;成员存储方式&#xff0c;this指针&#xff0c;以及C实现栈和C语言的比较&#xff0c;进一步认识了C的封装特性。本期内容&#xff0c;我们开始介绍类的默认成员函…

【NLP】 5. Word Analogy Task(词类比任务)与 Intrinsic Metric(内在度量)

Word Analogy Task&#xff08;词类比任务&#xff09; 定义&#xff1a;Word Analogy Task 是用于评估词向量质量的内在指标&#xff08;Intrinsic Metric&#xff09;。该任务基于这样的假设&#xff1a;如果词向量能够捕捉单词之间的语义关系&#xff0c;那么这些关系应该能…

矩阵幂(矩阵k次幂)

矩阵幂 #include<stdio.h> //矩阵乘法 void cf(int a[20][20],int b[20][20],int result[20][20],int n){for(int i0;i<n;i){for(int j0;j<n;j){result[i][j]0;for(int k0;k<n;k){result[i][j]a[i][k]*b[k][j];}}} }void print(int a[20][20],int n){for(int…

信火一体作战模式运用特点分析及对一体化防空反导能力建设的启示

文章目录 内容摘要1. 引言2. 信火一体作战模式在现代战争中的新内涵和特征2.1 充当火力和信息要素的作战单元种类更加丰富2.2 信息利用更加凸显异构平台间的数据共享和情报融合2.3 作战环节上更加强调指挥决策的敏捷性和智能化3. 增强防空反导能力的举措建议3.1 强化各类作战单…

样本是怎么估计总体的

样本是怎么估计总体的 flyfish 1. 什么是样本估计总体&#xff1f; 样本估计总体是指通过样本数据&#xff08;例如100人的身高&#xff09;推断总体参数&#xff08;例如全国人口的平均身高&#xff09;。核心方法包括&#xff1a; 点估计&#xff1a;用样本统计量直接估计…

自己动手打造AI Agent:基于DeepSeek-R1+websearch从零构建自己的Manus深度探索智能体AI-Research

第一章&#xff1a;AI Agent基础与DeepSeek-R1架构解析&#xff08;1/10&#xff09; 1.1 AI Agent技术演进与核心价值 人工智能代理&#xff08;AI Agent&#xff09;经历了从规则驱动到数据驱动的范式转移。早期基于专家系统的符号主义方法&#xff08;如MYCIN医疗诊断系统…