In this guide, I’ll show you how you can set the default Java version on Ubuntu / Debian. It is common to run more than one version of Java in your Ubuntu or Debian system – For development reasons or varying applications requirements.

Earlier on we had done an article on installing Java 11 on Ubuntu / Debian: How to Install Java 11 on Ubuntu 18.04 /16.04 / Debian 9
For Java 8: How to Install Java 8 on Ubuntu
Suppose you install Java 11 and you had another version of Java installed earlier, you can select default Java version to use using the update-alternatives --config java
command.
Checking Java versions installed on Ubuntu / Debian
To get a list of installed Java versions, run the command:
$ update-java-alternatives --list
java-1.11.0-openjdk-amd64 1101 /usr/lib/jvm/java-1.11.0-openjdk-amd64
java-8-oracle 1081 /usr/lib/jvm/java-8-oracle
Once you have a list of Java version, set a default one by running the command:
$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 auto mode
* 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 manual mode
2 /usr/lib/jvm/java-8-oracle/jre/bin/java 1081 manual mode
Press <enter> to keep the current choice[*], or type selection number: 2
Check Java version
$ java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
The same can be done for javac
.
~$ sudo update-alternatives --config javac
There is 1 choice for the alternative javac (providing /usr/bin/javac).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-8-oracle/bin/javac 1081 auto mode
* 1 /usr/lib/jvm/java-8-oracle/bin/javac 1081 manual mode
Press <enter> to keep the current choice[*], or type selection number:
If JAVA_HOME
is not set correctly, run the command below to set from current default Java configured.
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
For JRE, use:
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::")
Persistence can be achieved by placing the export command in .bashrc
/etc/profile
file.