Mac 上配置jdk 环境变量

核心步骤是设置 JAVA_HOME 变量,并将其 bin 目录添加到系统的 PATH 变量中。

macOS 从 Catalina (10.15) 版本开始,默认的终端 Shell 从 bash 切换到了 zsh。因此,你需要先确定你正在使用的 Shell,然后编辑对应的配置文件。


步骤一:查找 JDK 的安装路径

在 Mac 上,你不需要手动寻找 JDK 的路径。系统提供了一个很方便的工具 /usr/libexec/java_home 来动态获取当前最优的 JDK 路径。

  1. 打开终端 (Terminal)

  2. 运行以下命令 来获取当前默认(通常是最高版本)的 JDK 主目录路径:

    bash 复制代码
    /usr/libexec/java_home

    你会得到类似这样的输出,请复制它,下面会用到:

    复制代码
    /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home

优点 :使用这个命令而不是硬编码一个具体路径(如 .../jdk-17.jdk/...),意味着当你未来升级或安装新的 JDK 时,这个环境变量配置无需修改,它会自动指向新的默认版本。


步骤二:确定你的 Shell 类型

在终端中输入以下命令:

bash 复制代码
echo $SHELL
  • 如果输出包含 /bin/zsh,那么你正在使用 Zsh
  • 如果输出包含 /bin/bash,那么你正在使用 Bash

步骤三:编辑对应的 Shell 配置文件

根据上一步的结果,选择相应的操作。

情况 A:如果你使用 Zsh (macOS Catalina 及更新版本)

你需要编辑 ~/.zshrc 文件。

  1. 打开或创建配置文件

    使用一个简单的文本编辑器(如 nano)来编辑文件。

    bash 复制代码
    nano ~/.zshrc

    如果文件是新建的,窗口会是空白的,这很正常。

  2. 添加环境变量配置

    将下面两行代码粘贴到文件的末尾。

    bash 复制代码
    # Setting JAVA_HOME for JDK
    export JAVA_HOME=$(/usr/libexec/java_home)
    export PATH="$JAVA_HOME/bin:$PATH"
    • 第一行 :设置 JAVA_HOME 变量,它的值是 java_home 命令的执行结果。
    • 第二行 :将 JDK 的 bin 目录(包含了 java, javac 等命令)添加到系统 PATH 的最前面,这样系统会优先使用你指定的 JDK 版本。
  3. 保存并退出

    • 按下 Control + O (WriteOut)
    • Enter 键确认文件名。
    • 按下 Control + X 退出 nano 编辑器。
情况 B:如果你使用 Bash (macOS Mojave 及更早版本)

你需要编辑 ~/.bash_profile 文件。

  1. 打开或创建配置文件

    bash 复制代码
    nano ~/.bash_profile
  2. 添加环境变量配置

    同样,将下面两行代码粘贴到文件的末尾。

    bash 复制代码
    # Setting JAVA_HOME for JDK
    export JAVA_HOME=$(/usr/libexec/java_home)
    export PATH="$JAVA_HOME/bin:$PATH"
  3. 保存并退出

    • 按下 Control + O
    • Enter
    • 按下 Control + X

步骤四:让配置立即生效

你刚刚修改的配置文件只会在新的终端窗口中被加载。要让你当前的终端窗口也应用这些更改,执行以下命令:

  • 如果你用的是 Zsh

    bash 复制代码
    source ~/.zshrc
  • 如果你用的是 Bash

    bash 复制代码
    source ~/.bash_profile

或者,你也可以直接关闭当前的终端窗口并重新打开一个,效果是一样的。


步骤五:验证配置是否成功

在新的终端窗口或 source 过的窗口中,运行以下命令进行检查:

  1. 检查 JAVA_HOME

    bash 复制代码
    echo $JAVA_HOME

    预期输出 :应该会打印出你在第一步中看到的 JDK 路径,例如 /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home

  2. 检查 Java 版本

    bash 复制代码
    java -version

    预期输出:应该会显示你默认 JDK 的版本信息。

  3. 检查 java 命令的路径

    bash 复制代码
    which java

    预期输出 :应该会显示 JAVA_HOME 路径下的 bin/java,例如 /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/java

如果以上命令的输出都符合预期,那么恭喜你,JDK 环境变量已经成功配置!

相关推荐
程序员良辰1 小时前
Spring与SpringBoot:从手动挡到自动挡的Java开发进化论
java·spring boot·spring
鹦鹉0071 小时前
SpringAOP实现
java·服务器·前端·spring
练习时长两年半的程序员小胡2 小时前
JVM 性能调优实战:让系统性能 “飞” 起来的核心策略
java·jvm·性能调优·jvm调优
崎岖Qiu2 小时前
【JVM篇11】:分代回收与GC回收范围的分类详解
java·jvm·后端·面试
27669582924 小时前
东方航空 m端 wasm req res分析
java·python·node·wasm·东方航空·东航·东方航空m端
许苑向上4 小时前
Spring Boot 自动装配底层源码实现详解
java·spring boot·后端
喵叔哟4 小时前
31.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--单体转微服务--财务服务--收支分类
java·微服务·.net
codu4u13145 小时前
Maven中的bom和父依赖
java·linux·maven
呦呦鹿鸣Rzh5 小时前
微服务快速入门
java·微服务·架构
今天也好累5 小时前
C 语言基础第16天:指针补充
java·c语言·数据结构·笔记·学习·算法