You can support us by downloading this article as PDF from the Link below. Download the guide as PDF

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.

set default java ubuntu debian

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 your .bashrc or /etc/profilefile.

As an appreciation for the content we put out,
we would be thrilled if you support us!


As we continue to grow, we would wish to reach and impact more people who visit and take advantage of the guides we have on our blog. This is a big task for us and we are so far extremely grateful for the kind people who have shown amazing support for our work over the time we have been online.

Thank You for your support as we work to give you the best of guides and articles. Click below to buy us a coffee.

LEAVE A REPLY

Please enter your comment!
Please enter your name here