How to install the JDK on Ubuntu Linux How to install the JDK on Ubuntu Linux java java

How to install the JDK on Ubuntu Linux


Referring to Ask Ubuntu question How to set JAVA_HOME for OpenJDK?,

How to install Open JDK (Java developement kit) in Ubuntu (Linux)?

  1. Open Terminal from Application Dash or press Ctrl+Alt+T

  2. Update repository:

    sudo add-apt-repository ppa:openjdk-r/ppa  # only Ubuntu 17.4 and earliersudo apt update
  3. Optional: To search available distributions of openjdk, use the following command:

    apt search openjdk
  4. Install the appropriate version with the following command:

    sudo apt install openjdk-8-jdksudo apt install openjdk-8-source #this is optional, the jdk source code
  5. For JAVA_HOME (Environment Variable) type command as shown below, in "Terminal" using your installation path...

    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk

    (Note: /usr/lib/jvm/java-8-openjdk is symbolically used here just for demostration. You should use your path as per your installation.)

  6. For PATH (Environment Variable) type command as shown below, in Terminal:

    export PATH=$PATH:$JAVA_HOME/bin

  7. To check your installation:

    java -version


The following used to work before the Oracle Java license changes in early 2019.

sudo add-apt-repository ppa:webupd8team/javasudo apt-get updatesudo apt-get install oracle-java7-installer

The PPA is discontinued, until the author finds a workaround for the license issues.


You can install Oracle's JDK 1.7 fairly easily too; as an example this is how to install JDK 1.7.0_13;

As root, do;

cd /usr/localtar xzf <the file you just downloaded>

As your normal user, add or change these two lines in your ~/.profile to point to the installation;

export JAVA_HOME=/usr/local/jdk1.7.0_13export PATH=$PATH:$JAVA_HOME/bin

If it's an update, you may also want to remove the old java installation directory in /usr/local.

Log out and in again (or do . ~/.profile), and everything should just work.

The downside with Oracle's JDK is that it won't update with the rest of your system like OpenJDK will, so I'd mostly consider it if you're running programs that require it.