I'm gonna install three version's from openjdk using Homebrew! We should all know what Homebrew is by now...
$ brew install openjdk@17
$ brew install openjdk@21
As far as I understand it MacOS has a special Java VM folder where it installs the JVMs. We'll create symlinks to versions we just installed from Homebrew.
sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk
sudo ln -sfn /opt/homebrew/opt/openjdk@21/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-21.jdk
jenv is a Java installation version manager. Install with Homebrew as well:
$ brew install jenv
Add the following to your shell's .rc file so jenv is executed upon terminal startup
# Setup JEnv to install run export PATH="$HOME/.jenv/bin:$PATH" eval "$(jenv init -)" # Have JAVA_HOME set by JEnv for us... jenv enable-plugin export
Source the file to apply the changes
source ~/.zshrc # or ~/.bash_profile, ~/.bashrc, etc.
Add the versions in Java VM folder to jenv so it can manage them
jenv add /Library/Java/JavaVirtualMachines/openjdk-17.jdk/Contents/Home/
jenv add /Library/Java/JavaVirtualMachines/openjdk-21.jdk/Contents/Home/
You can see the installed versions by echo ${JAVA_HOME}
$ jenv versions * system (set by /Users/user/.jenv/version) 17 17.0 17.0.12 21 21.0 21.0.4 openjdk64-17.0.12 openjdk64-21.0.4
$ java -version openjdk version "17.0.12" 2024-07-16 OpenJDK Runtime Environment Homebrew (build 17.0.12+0) OpenJDK 64-Bit Server VM Homebrew (build 17.0.12+0, mixed mode, sharing)
$ jenv global 21.0.2 $ jenv global --unset
This will add a .java-version file in the directory you're currently in so you can commit it as a part of your Java project.
$ jenv local 21.0.2 $ jenv local --unset
Congrats! You've just installed Java on your MacOS! Have fun on your Java/Kotlin projects! ?
The above is the detailed content of Installing (multiple) Java on MacOS managed by jEnv. For more information, please follow other related articles on the PHP Chinese website!