Install some Java!
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
Create some Symlinks
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
Install jEnv
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 JVMs to jenv
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/
See the versions installed by jenv
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
See which version of Java you're using:
$ 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)
Set/unset global version of Java
$ jenv global 21.0.2
$ jenv global --unset
Set/unset local version of Java
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! π₯³
Top comments (0)