# How to Install Java on Debian 10 Linux

Updated Feb 24, 2020

•

4 min read

In this tutorial, we will explain how to install Java (OpenJDK) on Debian 10 Linux.

Java is one of the most popular programming languages used to build different kinds of applications and systems. Applications developed in Java are scalable, flexible, and maintainable.

## Before You Begin #

There are two different implementations of Java, OpenJDK and Oracle Java, with almost no differences between them except that Oracle Java has a few additional commercial features. Oracle Java License permits only non-commercial use of the software, such as personal use and development use.

The default Debian 10 repositories include two different Java packages, Java Runtime Environment (JRE) and Java Development Kit (JDK). JRE includes the Java virtual machine (JVM), classes, and binaries that allow you to run Java programs. Java developers should install JDK, which includes JRE and development/debugging tools and libraries necessary to build Java applications.

If you are not sure which Java package to install, the general recommendation is to stick to the default OpenJDK (JDK 11) version. Some Java-based applications may require a specific version of Java, so you should consult the application documentation.

## Installing OpenJDK 11 #

OpenJDK 11, the open-source implementation of the Java Platform, is the default Java development and runtime in Debian 10, Buster.

Run the following commands as a user with sudo privileges or root to update the packages index and install the OpenJDK 11 JDK package:

    sudo apt updatesudo apt install default-jdk

Once the installation is complete, you can verify it by checking the Java version:

    java -version

The output should look something like this:

    openjdk version "11.0.3" 2019-04-16
    OpenJDK Runtime Environment (build 11.0.3+7-post-Debian-5)
    OpenJDK 64-Bit Server VM (build 11.0.3+7-post-Debian-5, mixed mode, sharing)

That’s it! At this point, you have successfully installed Java on your Debian system.

JRE is included in the JDK package. If you need only JRE, install the `default-jre` package.

## Installing OpenJDK 8 #

At the time of writing, the previous Java LTS version 8 is not available in the official Debian Buster repositories.

We’ll enable the AdoptOpenJDK repository, which provides prebuilt OpenJDK packages.

1. Start by updating the packages list and installing the dependencies necessary to add a new repository over HTTPS:

       sudo apt updatesudo apt install apt-transport-https ca-certificates wget dirmngr gnupg software-properties-common

2. Import the repository’s GPG key using the following wget command:

       wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add -

3. Add the AdoptOpenJDK APT repository to your system:

       sudo add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/

4. Once the repository is enabled, update apt sources and install Java 8 using the following commands:

       sudo apt updatesudo apt install adoptopenjdk-8-hotspot

5. Finally, verify the installation by checking the Java version:

       java -version

   The output should look something like this:

       openjdk version "1.8.0_212"
       OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_212-b04)
       OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.212-b04, mixed mode)

## Set the default version #

If you have multiple Java versions installed on your Debian system you can check what version is set as the default one by typing:

    java -version

To change the default version, use the `update-alternatives` command:

    sudo update-alternatives --config java

The output will look something like below:

    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          1111      auto mode
      1            /usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/bin/java   1081      manual mode
      2            /usr/lib/jvm/java-11-openjdk-amd64/bin/java          1111      manual mode

    Press <enter> to keep the current choice[*], or type selection number:

You will be presented with a list of all installed Java versions. Enter the number of the version you want to be used as the default and press `Enter`.

## `JAVA_HOME` Environment Variable #

The `JAVA_HOME` environment variable is used by some Java applications to determine the Java installation location.

To set the `JAVA_HOME` environment variable, use the `update-alternatives` command to find where Java is installed:

    sudo update-alternatives --config java

In this example, the installation paths are as follows:

- OpenJDK 11 is located at `/usr/lib/jvm/java-11-openjdk-amd64/bin/java`
- OpenJDK 8 is located at `/usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/bin/java`

Once you found the path of your preferred Java installation, open the `/etc/environment` file:

    sudo nano /etc/environment

Assuming you want to set `JAVA_HOME` to OpenJDK 11, add the following line, at the end of the file:

/etc/environment

    JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"

For changes to take effect on your current shell you can either log out and log in or run the following source command:

    source /etc/environment

Verify that the `JAVA_HOME` environment variable was correctly set:

    echo $JAVA_HOME

You should see the path to the Java installation:

    /usr/lib/jvm/java-11-openjdk-amd64

`/etc/environment` is a system-wide configuration file, which is used by all users. If you want to set the `JAVA_HOME` variable on a per-user basis, then add the line to the `.bashrc` or any other configuration file which is loaded when the user logs in.

## Uninstall Java #

You can uninstall Java like any other package installed with `apt`.

For example, to uninstall the `default-jdk` package simply run:

    sudo apt remove default-jdk

## Conclusion #

The latest LTS version of OpenJDK is available in the default Debian 10 Buster repositories, and the installation is a simple and straightforward task.

If you have any questions, feel free to leave a comment.

java debian

If you like our content, please consider buying us a coffee.
Thank you for your support!

Buy me a coffee

Sign up to our newsletter and get our latest tutorials and news straight to your mailbox.

We’ll never share your email address or spam you.

## Related Articles

Dec 24, 2019

### How to Install Apache Cassandra on Debian 10 Linux

Nov 9, 2019

### How to Install Tomcat 9 on Debian 10 Linux

Apr 27, 2019

### How to Install Elasticsearch on Debian 9

Write a comment
ESC