macOS M1 安装多个不同版本的 Java 环境

说明

在某些情况下,需要使用不同版本的 Java。例如,Hadoop 2 仅支持 Java 8,因此需要安装多个不同版本的 Java,并在需要时轻松切换到特定的 Java 版本。

安装

  • 添加第三方仓库

1
$ brew tap homebrew/cask-versions
  • 安装 Java 11

1
$ brew install --cask temurin11
  • 安装 Java 8

1
$ brew install --cask temurin8
  • 安装 jEnv

1
2
3
4
$ brew install jenv

$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(jenv init -)"' >> ~/.zshrc

配置

  • 开启 export 插件

    不开的话,JAVA_HOME可能设置不成功。
1
$ jenv enable-plugin export	
  • 增加 Java 11

1
$ jenv add /Library/Java/JavaVirtualMachines/temurin-11.jdk/Contents/Home
  • 增加 Java 8

1
$ jenv add /Library/Java/JavaVirtualMachines/temurin-8.jdk/Contents/Home

版本切换

  • 显示所有的版本

1
2
3
4
5
6
7
$ jenv versions                                                                     
  system
  1.8
  1.8.0.382
  11.0.20.1
  temurin64-1.8.0.382
  temurin64-11.0.20.1
  • 设置 Java 8 版本

1
$ jenv global 1.8
  • 查看当前 Java 版本

1
2
3
4
$ java -version                                                                     
openjdk version "1.8.0_382"
OpenJDK Runtime Environment (Temurin)(build 1.8.0_382-b05)
OpenJDK 64-Bit Server VM (Temurin)(build 25.382-b05, mixed mode)
  • 查看 JAVA_HOME

1
2
$ echo $JAVA_HOME                                                                   
/Users/yhz/.jenv/versions/1.8
  • 切换到 Java 11 版本

1
$ jenv global 11.0.20.1
  • 查看当前 Java 版本

1
2
3
4
$ java -version                                                                     
openjdk version "11.0.20.1" 2023-08-24
OpenJDK Runtime Environment Temurin-11.0.20.1+1 (build 11.0.20.1+1)
OpenJDK 64-Bit Server VM Temurin-11.0.20.1+1 (build 11.0.20.1+1, mixed mode)
  • 查看 JAVA_HOME

1
2
$ echo $JAVA_HOME                                                                   
/Users/yhz/.jenv/versions/11.0.20.1

结论

通过安装多个不同版本的 Java 环境并利用 jEnv 进行管理,可以在特定开发情境下轻松切换到所需的 Java 版本。

0%