在 MacOS 中更改 Java 版本
在本文中,我们将讨论如何更改安装在 mac 机器上的 Java 版本。当本地机器上有多个不同版本的 Java 安装可用时,我们可以使用以下步骤在它们之间切换。
在 MacOS 中使用传统方式更改 Java 版本
在我们的 mac 上安装 JDK 包时,我们必须将其路径指定为环境变量,以便在本地系统的任何位置访问 Java 工具。这个环境变量是我们告诉默认使用 Java 版本的地方。
在以下步骤中,我们将使用命令行更改默认 Java 环境变量的值。
- 查看本地 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
- 现在,我们得到了 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,我们需要执行进一步的步骤。
- 将 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`
- 再次检查 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
是一个命令行实用程序,可以轻松设置环境变量。
-
使用 Homebrew 包管理系统安装
jenv
工具。
我们使用以下命令在本地机器上安装 jenv
。
> brew install jenv
- 将变量设置为 shell,完成安装。
要使用 jenv
工具,我们需要使用命令 shell 设置变量。在我们的例子中,我们使用 zsh shell 来使用以下命令。
> echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
> echo 'eval "$(jenv init -)"' >> ~/.zshrc
-
配置
jenv
以包含已安装的 Java 版本。
我们将想要的 Java 版本添加到 jenv
列表中。为此,我们使用带有 add
的 jenv
命令并指定 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
-
检查
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
- 将 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
相关文章
如何在 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 中互斥锁的一切,在计算机科学领域,互斥或互斥被称为并发控制的属性。每台计算机都使用称为线程的最小程序指令序列。有一次,计算机在一个线程上工作。为了更好地理解,