首先运行 /usr/libexec/java_home -V 查看本机存在哪些java版本

Matching Java Virtual Machines (4):
    17.0.9 (arm64) "Oracle Corporation" - "Java SE 17.0.9" /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
    11.0.20 (arm64) "Oracle Corporation" - "Java SE 11.0.20" /Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home
    1.8.391.13 (arm64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
    1.8.0_391 (arm64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home

选择想切换的版本

export JAVA_HOME=`/usr/libexec/java_home -v 11.0.20`

运行 java -version :

java version "11.0.20" 2023-07-18 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.20+9-LTS-256)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.20+9-LTS-256, mixed mode)

这种只支持当前窗口使用,持久使用,需要在环境变量配置文件进行修改

~/.bash_profile 或者 ~/.zshrc文件中添加如下代码:

export JAVA_HOME=$(/usr/libexec/java_home -v 1.8.0)

保存确认退出后,使环境变量生效

source ~/.bash_profile  

现在最新的mac基本都是zsh,如果不想修改zshrc的内容,可以在zshrc文件内添加

source ~/.bash_profile 

保存退出,并执行

source ~/.zshrc

这样就可以实现版本的切换