Install Oracle JDK 16 on Linux

Even though OpenJDK is available in Linux repositories, some applications strictly require Oracle Java Development Kit. This article shows you how to manually install Oracle JDK $java_version on your Linux system. This article uses JDK $java_version$java_update_no to demonstrate the installation. In the provided commands, replace the version specific paths and file names according to your downloaded version.

Version specific installation guides are available here:

Install Oracle JDK $java_version on Linux

Oracle provides deb and rpm installers
If your Linux distribution is using DEB package format like Debian, you can download and install the jdk-$java_version$java_update_no_linux-x64_bin.deb file using the following command:
sudo dpkg -i jdk-$java_version$java_update_no_linux-x64_bin.deb
If your  Linux distribution is using RPM package format like Cent OS, you can download and install the jdk-$java_version$java_update_no_linux-x64_bin.rpm file using the following command:
sudo rpm -ivh jdk-$java_version$java_update_no_linux-x64_bin.rpm

However, this article explains the manual installation method which is applicable for all Linux distributions out there. Personally, I prefer the manual installation because I have more control over the changes made in the system.

Step 1:
Download the latest JDK(jdk-$java_version$java_update_no_linux-x64_bin.tar.gz) from this official site:

If you want to download to a remote server or if you simply prefer wget, use the following command:
wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie"

Step 2:
Open the terminal (Ctrl + Alt + T) and enter the following command.
sudo mkdir /usr/lib/jvm
If the /usr/lib/jvm folder does not exist, this command will create the directory. If you already have this folder, you can ignore this step and move to the next step.

Step 3:
Enter the following command to change the directory.
cd /usr/lib/jvm

Step 4:
Extract the jdk-Xuxx-linux-xXX.tar.gz file in that directory using this command.
sudo tar -xvzf ~/Downloads/jdk-$java_version$java_update_no_linux-x64_bin.tar.gz
According to this command, the JDK filename is jdk-$java_version$java_update_no_linux-x64_bin.tar.gz and which is located in the ~/Downloads folder. If your downloaded file is in any other location, change the command according to your path.

Step 5:
Enter the following command to open the environment variables file.
sudo nano /etc/environment

According to your personal preference, you can choose any text editors instead of nano.

Step 6:
In the opened file, add the following bin folder to the existing PATH variable.
The PATH variables must be separated by colon.

Add the following environment variables at the end of the file.

The environment file before the modification:
The environment file after the modification:

Save the changes and close nano (Ctrl + O, Ctrl + X).
To learn more about setting environment variables and/or to set the environment variable without root privilege, check How to Set Environment Variables in Linux?.

Step 7:
Enter the following commands to inform the system about the Java's location. Depending on your JDK version, the paths can be different.
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk-$java_version$java_update_no/bin/java" 0
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk-$java_version$java_update_no/bin/javac" 0
sudo update-alternatives --set java /usr/lib/jvm/jdk-$java_version$java_update_no/bin/java
sudo update-alternatives --set javac /usr/lib/jvm/jdk-$java_version$java_update_no/bin/javac

Step 8:
To verify the setup enter the following commands and make sure that they print the location of java and javac as you have provided in the previous step.
update-alternatives --list java
update-alternatives --list javac

Step 9:
Restart the computer (or just log-out and login) and open the terminal again.

Step 10:
Enter the following command.
java -version

If you get the installed Java version as the output, you have successfully installed the Oracle JDK in your system.

Next Post »


Write comments
Sumit Kumar Soni
May 2, 2021 at 2:44 AM delete

Thank You Very Very Much Sir... You solved my biggest problem till now..

May 6, 2021 at 8:13 AM delete

Glad to hear that you find it useful.

June 24, 2021 at 8:25 AM delete

Thank you*100
I scoured all the websites and found my answer finally!

August 18, 2021 at 8:52 AM delete

My god. This ended my failed endeavor looking for this. And, Im happy I found your site! Will be using it more often.

August 18, 2021 at 4:42 PM delete

Glad you find it useful

August 18, 2021 at 4:42 PM delete

Thanks. Glad you find it useful.

September 21, 2021 at 9:07 PM delete

I get an error when I try to run the java -version:

bash: /usr/bin/java: cannot execute binary file: Exec format error

any ideas? I double-checked my work to make sure it was accurate.

September 25, 2021 at 10:49 PM delete

Hi, Sorry for the late reply. Did you download the JDK for your system's architecture. If you are running x86_64 system, make sure you've downloaded the x64 file. If you are running an ARM machine, you need to download the ARM version.


Contact Form


Email *

Message *