java版本更新到11仍然显示8

Mad*_*u K 2 java macos java-11

我使用的是 macOS Monterey(v 12.0.1)。下面是我的Java版本:

$ java -version
java version "1.8.0_281"
Java(TM) SE Runtime Environment (build 1.8.0_281-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.281-b09, mixed mode)
Run Code Online (Sandbox Code Playgroud)

首先我不明白"1.8.0_281",这是什么意思java 8

我想将Java版本更新到11。所以,我已经下载并安装了jdk-11.0.13_osx-x64_bin.dmg,显示安装成功。但现在当我检查时java -version仍然显示java version "1.8.0_281"。如何将我的 java 版本更新到 java 11 ?

小智 9

  1. 列出 Mac 上安装的所有 Java 版本。
$ /usr/libexec/java_home -V
Run Code Online (Sandbox Code Playgroud)
Matching Java Virtual Machines (3):
    11.0.11 (x86_64) "Oracle Corporation" - "Java SE 11.0.11" /Library/Java/JavaVirtualMachines/jdk-11.0.11.jdk/Contents/Home
    1.8.241.07 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
    1.8.0_241 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_241.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)
  1. 将所需版本设置为 JAVA_HOME 环境变量。
export JAVA_HOME=`/usr/libexec/java_home -v 11.0.11`
Run Code Online (Sandbox Code Playgroud)
  1. 更新 ~ Home 目录中的 .bashrc 或 .zshrc 文件。
vi ~/.zshrc
Run Code Online (Sandbox Code Playgroud)

在文件中添加/编辑此行并保存。

export JAVA_HOME=$(/usr/libexec/java_home -v 11.0.11)
Run Code Online (Sandbox Code Playgroud)
  1. 在终端中打开一个新窗口并验证它是否有效。
$ java -version
java version "11.0.11" 2021-04-20 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.11+9-LTS-194)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.11+9-LTS-194, mixed mode)
Run Code Online (Sandbox Code Playgroud)