迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Java >

在 MacOS 中更改 Java 版本

作者:迹忆客 最近更新:2023/09/28 浏览次数:

在本文中,我们将讨论如何更改安装在 mac 机器上的 Java 版本。当本地机器上有多个不同版本的 Java 安装可用时,我们可以使用以下步骤在它们之间切换。


在 MacOS 中使用传统方式更改 Java 版本

在我们的 mac 上安装 JDK 包时,我们必须将其路径指定为环境变量,以便在本地系统的任何位置访问 Java 工具。这个环境变量是我们告诉默认使用 Java 版本的地方。

在以下步骤中,我们将使用命令行更改默认 Java 环境变量的值。

  1. 查看本地 mac 上所有安装的 Java 版本。

首先,我们需要使用 cd 命令将当前目录更改为 /usr/libexec

> cd /usr/libexec

一旦进入 /usr/libexec 目录,我们使用 -V 执行 ./java_home 命令,该命令返回已安装 Java 的版本和位置。

> ./java_home -V

这是运行命令后的输出。我们可以看到三个可用的 Java 版本;我们专注于第一个和最后一个 Java 版本。

第一个 Java 版本是 14.0.1,而第二个 Java 版本是 1.8。

输出:

> 14.0.1 (x86_64) "Oracle Corporation" - "Java SE 14.0.1" /Library/Java/JavaVirtualMachines/jdk-14.0.1.jdk/Contents/Home

1.8.202.08 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
  1. 现在,我们得到了 mac 中使用的当前默认 Java 版本。

我们使用命令 java-version 返回默认 JDK 的版本。

> java -version

输出:

> java version "14.0.1" 2020-04-14
Java(TM) SE Runtime Environment (build 14.0.1+7)
Java HotSpot(TM) 64-Bit Server VM (build 14.0.1+7, mixed mode, sharing)

我们可以看到默认的 JDK 是 Java 版本 14.0.1;如果我们想将此版本更改为 1.8,我们需要执行进一步的步骤。

  1. 将 Java 版本改为 Java 1.8 版本。

现在我们将环境变量 JAVA_HOME 更改为新值。JAVA_HOME 是为 Java 设置系统默认值的变量。

我们使用带有变量名的 export 命令,然后使用参数 -v 指定 usr/libexec/java_home 的位置以及我们想要更改为 1.8 的版本。

请注意,在路径周围使用了反引号。

> export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
  1. 再次检查 Java 版本,确认版本已更改。

我们使用 java -version 命令检查当前的 Java 版本,当我们执行它时,新版本会在输出中返回。

> java -version

输出:

> java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

在 MacOS 中使用 jenv 更改 Java 版本

jEnv 是一个命令行实用程序,可以轻松设置环境变量。

  1. 使用 Homebrew 包管理系统安装 jenv 工具。

我们使用以下命令在本地机器上安装 jenv

> brew install jenv
  1. 将变量设置为 shell,完成安装。

要使用 jenv 工具,我们需要使用命令 shell 设置变量。在我们的例子中,我们使用 zsh shell 来使用以下命令。

> echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
> echo 'eval "$(jenv init -)"' >> ~/.zshrc
  1. 配置 jenv 以包含已安装的 Java 版本。

我们将想要的 Java 版本添加到 jenv 列表中。为此,我们使用带有 addjenv 命令并指定 JDK 的位置。

我们安装了两个 Java,因此我们使用它们的位置运行该命令两次。

> jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
> jenv add /Library/Java/JavaVirtualMachines/jdk-14.0.1.jdk/Contents/Home
  1. 检查 jenv 中的 Java 版本。

我们使用以下命令检查所有添加的 Java 版本。

> jenv versions

命令输出显示 jenv 列表中可用的所有 Java 版本。这里,1.8 是当前的默认 Java 版本。

输出:

> system
* 1.8 (set by /Users/Anju/.jenv/version)
  1.8.0.202
  14
  14.0
  14.0.1
  oracle64-1.8.0.202
  oracle64-14.0.1
  1. 将 Java 版本从 1.8 全局更改为 14.0。

现在我们使用以下命令将版本更改为 14.0。请注意,我们使用 global 全局设置更改。

> jenv global 14.0

当我们检查 Java 默认版本时,我们会得到更改后的 Java 版本(Java 版本 14.0.1)。

> java -version

输出:

> java version "14.0.1" 2020-04-14
Java(TM) SE Runtime Environment (build 14.0.1+7)
Java HotSpot(TM) 64-Bit Server VM (build 14.0.1+7, mixed mode, sharing)

我们只能使用以下命令更改当前会话中的 Java 版本,而不是全局更改。

> jenv shell 14.0

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 Java 中延迟几秒钟的时间

发布时间:2023/12/17 浏览次数:217 分类:Java

本篇文章主要介绍如何在 Java 中制造程序延迟。本教程介绍了如何在 Java 中制造程序延时,并列举了一些示例代码来了解它。

如何在 Java 中把 Hashmap 转换为 JSON 对象

发布时间:2023/12/17 浏览次数:187 分类:Java

它描述了允许我们将哈希图转换为简单的 JSON 对象的方法。本文介绍了在 Java 中把 Hashmap 转换为 JSON 对象的方法。我们将看到关于创建一个 hashmap,然后将其转换为 JSON 对象的详细例子。

如何在 Java 中按值排序 Map

发布时间:2023/12/17 浏览次数:171 分类:Java

本文介绍了如何在 Java 中按值对 Map 进行排序。本教程介绍了如何在 Java 中按值对 Map 进行排序,并列出了一些示例代码来理解它。

如何在 Java 中打印 HashMap

发布时间:2023/12/17 浏览次数:192 分类:Java

本帖介绍了如何在 Java 中打印 HashMap。本教程介绍了如何在 Java 中打印 HashMap 元素,还列举了一些示例代码来理解这个主题。

在 Java 中更新 Hashmap 的值

发布时间:2023/12/17 浏览次数:146 分类:Java

本文介绍了如何在 Java 中更新 HashMap 中的一个值。本文介绍了如何在 Java 中使用 HashMap 类中包含的两个方法-put() 和 replace() 更新 HashMap 中的值。

Java 中的 hashmap 和 map 之间的区别

发布时间:2023/12/17 浏览次数:79 分类:Java

本文介绍了 Java 中的 hashmap 和 map 接口之间的区别。本教程介绍了 Java 中 Map 和 HashMap 之间的主要区别。在 Java 中,Map 是用于以键值对存储数据的接口,

在 Java 中获取用户主目录

发布时间:2023/12/17 浏览次数:218 分类:Java

这篇文章向你展示了如何在 Java 中获取用户主目录。本教程介绍了如何在 Java 中获取用户主目录,并列出了一些示例代码以指导你完成该主题。

Java 中 size 和 length 的区别

发布时间:2023/12/17 浏览次数:179 分类:Java

这篇文章教你如何知道 Java 中大小和长度之间的区别。本教程介绍了 Java 中大小和长度之间的区别。我们还列出了一些示例代码以帮助你理解该主题。

Java 中的互斥锁

发布时间:2023/12/17 浏览次数:111 分类:Java

了解有关 Java 中互斥锁的一切,在计算机科学领域,互斥或互斥被称为并发控制的属性。每台计算机都使用称为线程的最小程序指令序列。有一次,计算机在一个线程上工作。为了更好地理解,

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便