首页 > 基础资料 博客日记

MacOS如何安装配置多个JDK,并切换使用

2025-01-15 12:30:08基础资料围观34

这篇文章介绍了MacOS如何安装配置多个JDK,并切换使用,分享给大家做个参考,收藏Java资料网收获更多编程知识

由于JDK版本极快的更新速度,因此常常会出现不同项目需要的JDK不同情况,所以需要明白如何在操作系统安装配置多个JDK,本篇博客以MacOS举例。

提示:如果是M系列芯片,推荐下载arm版本

目录

概述

配置环境变量

JDK下载与安装的区别

了解配置项

编写配置项

切换JDK


概述

安装配置多个JDK一共三步:

  1. Oracle官网下载JDK
  2. 安装JDk
  3. 配置环境变量

实现多个JDK的关键是如何配置环境变量,是本文的重点,因此第一二步略过

配置环境变量

JDK下载与安装的区别

下载 JDK:

  • 过程: 这涉及从 Oracle 官方网站、OpenJDK 社区,或者其他提供商下载 JDK 的二进制分发包。这通常是一个 .dmg (Disk Image)、.tar.gz、或者像 .pkg 这样的安装包。
  • 本质: 下载只是将安装文件从网络传输到你的本地计算机,这一步只是在你的硬盘上存储了安装文件,并未进行任何系统级的修改。

安装 JDK:

  • 过程: 这一步包括运行实际下载的安装程序或按照下载 README 的指示进行解压和配置。安装过程通常会复制 JDK 文件到系统的特定目录(例如 /Library/Java/JavaVirtualMachines),以及更新相关的系统环境配置。
  • 本质: 安装步骤会把 JDK 添加到计算机的路径中,使其成为全局可用。它通常会在系统中注册这个 JDK,使得 Java 命令(例如 javajavac)可以在终端中全局访问。

简而言之:下载只是压缩包,安装包括解压与配置

了解配置项

先给大家看看配置项

#JAVA
JAVA_HOME_17=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
JAVA_HOME_8=/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home

export JAVA_HOME=$JAVA_HOME_8

PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar

export PATH
export CLASSPATH

用编程的思维大致理解要做的事

  • 定义变量
  • 操作变量
  • return变量

JAVA_HOME_17 and JAVA_HOME_8

这些行分别定义了两个环境变量 JAVA_HOME_17 和 JAVA_HOME_8,用于存储 Java 17 和 Java 8 安装的路径。

  • JAVA_HOME_17 设置为 Java 17 的路径:/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
  • JAVA_HOME_8 设置为 Java 8 的路径:/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home

export JAVA_HOME=$JAVA_HOME_8

这行命令将 JAVA_HOME 环境变量设置为 JAVA_HOME_8 的值,指定将使用 Java 8 作为默认的 Java 环境。这里是切换JDK的重点

  • export 命令用于将环境变量暴露给终端中运行的所有子进程,确保在终端中运行的 Java 程序使用这个 JDK。

PATH=$JAVA_HOME/bin:$PATH

这行代码重新设置了 PATH 环境变量的值。让我们逐个部分地解释:

  1. PATH=

    • PATH 是一个环境变量,存储了一系列目录的路径,系统会依次在这些目录中查找可执行文件。当你在终端中输入一个命令时,shell 根据这些路径来寻找并执行对应的程序。
    • = 用于给变量赋值。在这行代码中,我们更新了 PATH 变量的值。
  2. $JAVA_HOME/bin

    • $JAVA_HOME 是一个变量,存储了当前 Java 安装目录的路径。在这段代码中,它被设置为 JAVA_HOME_8,指向 Java 8 的安装路径。
    • /bin 是一个相对路径,表示我们要访问 JAVA_HOME 目录下的 bin 子目录,该目录包含了所有与 Java 相关的可执行文件,例如 java 和 javac
    • 当 JAVA_HOME 被正确设置时,$JAVA_HOME/bin 的实际值可能为 /Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/bin
  3. :$PATH

    • : 是路径分隔符。在 UNIX 和类 UNIX 系统中,环境变量 PATH 中的各个路径是用冒号分隔的。
    • $PATH 表示当前 PATH 变量的值。
    • :$PATH 表示我们要把当前的 PATH 内容追加到新的 PATH 变量值之后。

总结一下,这行代码的作用是:

  • 将 Java 安装目录下的 bin 文件夹添加到 PATH 的开头。这样能确保运行 javajavac 等命令时,优先使用当前配置的 JDK。
  • 保留先前的 PATH 内容,确保系统的其他命令仍然可以被正常调用。

CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar

CLASSPATH 用于定义 Java 在运行时和编译时搜索类文件的路径。

  • tools.jar 和 dt.jar 是 JDK 中的库,tools.jar 包含用于编译和运行 Java 应用程序的工具,而 dt.jar 通常和图形界面构建有关。

export PATHexport CLASSPATH

  • 类似于 export JAVA_HOME, 这些 export 命令将已设置的 PATH 和 CLASSPATH 环境变量对终端中运行的所有子进程可用。
  • 确保命令行程序和 Java 程序可以使用这些变量中配置的路径和库。

编写配置项

1.在终端中,打开.zshrc文件

open .zshrc

2.将刚才的配置项粘贴到文件中

3.在终端中,使.zshrc文件生效

source ~/.zshrc

切换JDK

在终端中,查看一下我们的JDK版本

java -version

1.在终端中,打开.zshrc文件

open .zshrc

2.修改JAVA_HOME的值

export JAVA_HOME=$JAVA_HOME_17

3.在终端中,使.zshrc文件生效

source ~/.zshrc

再查看一次,发现已经切换成功了


文章来源:https://blog.csdn.net/m0_71931019/article/details/143873505
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云