Skip to content

Instantly share code, notes, and snippets.

@aimtiaz11
Last active September 29, 2024 02:57
Show Gist options
  • Save aimtiaz11/9d492c64d2c3c4b8b542829debba001a to your computer and use it in GitHub Desktop.
Save aimtiaz11/9d492c64d2c3c4b8b542829debba001a to your computer and use it in GitHub Desktop.
Switching Java versions and runtimes using update-alternatives

Switching Java using update-alternatives

Registering new java version

For example registering GraalVM to update-alternatives.

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/graalvm-jdk-21.0.4+8.1/bin/java 1
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/graalvm-jdk-21.0.4+8.1/bin/javac 1

List Java versions

update-alternatives --list java

Switch between java version

update-alternatives --config java

Alternative, set these handy aliases to switch versions easily:

alias graalvm21='export JAVA_HOME=/usr/lib/jvm/graalvm-jdk-21.0.4+8.1 && sudo update-alternatives --set java $JAVA_HOME/bin/java'
alias java17='export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 && sudo update-alternatives --set java $JAVA_HOME/bin/java'
alias java21='export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64 && sudo update-alternatives --set java $JAVA_HOME/bin/java'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment