Learn to install Oracle Java JDK in Ubuntu and Debian, and set it up completely with environment variables and PATH variables set. A typical installation of Ubuntu comes prepacked with the OpenJDK environment. This environment is substantially enough for regular users who wish to develop simple Java programs. However, some Java libraries are not included or compatible with the OpenJDK environment. Take Atlassian JIRA as an example of an application that requires the more traditional and proprietary Sun Java JDK platform. Due to its proprietary status, Ubuntu does not include this in its repository. Hence, we would need to install this manually.
Check Operating System Type
First things first, check whether you’re running on 32-bit or 64-bit Ubuntu:
- i686 – 32-bit kernel
- x86_64 – 64-bit kernel
Download Oracle Java JDK
Now, go to the Oracle JDK download site and decide which version of JDK you would prefer.
In this guide, we’ll be downloading Java JDK 8 Update 92. Accept the agreement, and copy the
tar.gz link for your operating system type.
We will use
wget to download the compressed file. In your terminal, type the following:
wget --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.tar.gz
The cookie header is included in the
wget command because Oracle does not allow a direct download without accepting their agreement; thus, we parse a cookie to ensure that Oracle recognises that you have accepted their agreement.
Install Oracle Java JDK in Ubuntu and Debian
Create a new directory under
sudo mkdir /opt/jdk
Then, extract the compressed file to the above directory:
sudo tar -xzvf jdk-8u121-linux-x64.tar.gz -C /opt/jdk
Verify that the files are extracted correctly:
cd /opt/jdk ls -lah /opt/jdk
Now, we’ll create a symbolic link called
and link it with the newly extracted JDK directory:
sudo ln -s /opt/jdk/jdk1.8.0_121/ current
Next, we’ll need to register the Java binaries with update-alternatives:
update-alternatives --install "/usr/bin/java" "java" "/opt/jdk/current/bin/java" 1 update-alternatives --install "/usr/bin/javac" "javac" "/opt/jdk/current/bin/javac" 1 update-alternatives --install "/usr/bin/javaws" "javaws" "/opt/jdk/current/bin/javaws" 1
Finally, mark the new Java binaries as default:
update-alternatives --set java /opt/jdk/current/bin/java update-alternatives --set javac /opt/jdk/current/bin/javac update-alternatives --set javaws /opt/jdk/current/bin/javaws
To verify that the installation has been done correctly, check the version of
java -version java version "1.8.0_121" Java(TM) SE Runtime Environment (build 1.8.0_121-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
Set Environment Variables and PATH
Finally, we’re going to set the
$JAVA_HOME environment variable so that you’ll be able to run most Java applications.
To set for a single user:
Let’s load the
.bash_profile from the home directory:
Go to the end of the file, and add the following:
export JAVA_HOME=/opt/jdk/current export PATH=$PATH:$JAVA_HOME/bin
x to save the file, and
y to overwrite it.
Finally, to ensure the changes are instant, run the following command:
To set for all users:
This step is similar to the above, with the only exception being that you would need to edit the global
profile file. This allows every user the right to understand the environment variable that was set.
profile file can be found in the