Install whatever versions you need
brew install openjdk@8
brew install openjdk@11
brew install openjdk@17
View what versions are now available
$ /usr/libexec/java_home -V
Matching Java Virtual Machines (4):
17.0.9 (arm64) " Homebrew" - " OpenJDK 17.0.9" /opt/homebrew/Cellar/openjdk@17/17.0.9/libexec/openjdk.jdk/Contents/Home
11.0.15 (arm64) " Homebrew" - " OpenJDK 11.0.15" /opt/homebrew/Cellar/openjdk@11/11.0.14.1/libexec/openjdk.jdk/Contents/Home
1.8.361.09 (x86_64) " Oracle Corporation" - " Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
1.8.0_311 (x86_64) " Oracle Corporation" - " Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_311.jdk/Contents/Home
Enable multi-version mechanism
vi ~ /.zshrc
---
export JAVA_8_HOME=$( /usr/libexec/java_home -v1.8)
export JAVA_11_HOME=$( /usr/libexec/java_home -v11)
export JAVA_17_HOME=$( /usr/libexec/java_home -v17)
alias java8=' export JAVA_HOME=$JAVA_8_HOME;export PATH="$JAVA_HOME/bin:$PATH"'
alias java11=' export JAVA_HOME=$JAVA_11_HOME;export PATH="$JAVA_HOME/bin:$PATH"'
alias java17=' export JAVA_HOME=$JAVA_17_HOME;export PATH="$JAVA_HOME/bin:$PATH"'
# default java11 and use java17 to switch to v17
export JAVA_HOME=$JAVA_11_HOME
export PATH=" $JAVA_HOME /bin:$PATH "
$ java --version
openjdk 11.0.15 2022-04-19
OpenJDK Runtime Environment Homebrew (build 11.0.15+0)
OpenJDK 64-Bit Server VM Homebrew (build 11.0.15+0, mixed mode)
$ java17
$ java --version
openjdk 17.0.9 2023-10-17
OpenJDK Runtime Environment Homebrew (build 17.0.9+0)
OpenJDK 64-Bit Server VM Homebrew (build 17.0.9+0, mixed mode, sharing)