Note: This article uses JDK8_Update_241 to demonstrate the installation. In the provided commands, replace the version specific paths and file names to your downloaded version.
Oracle stopped further updates to Java 8 since January 2019. A new article on how to install Oracle JDK 11 is available here: Install Oracle JDK 11 on Linux
Step 1:
Download the latest JDK(jdk-8u241-linux-x64.tar.gz) from this official site.
DOWNLOAD
If you want to download to a remote server or if you simply prefer wget, use the command given in this Stackoverflow answer: Downloading JDK
Step 2:
Open the terminal (Ctrl + Alt + T) and enter the following command.
sudo mkdir /usr/lib/jvm
CopyIf 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 next step.
Step 3:
Enter the following command to change the directory.
cd /usr/lib/jvm
Copy
Step 4:
Extract the jdk-8u241-linux-x64.tar.gz file in that directory using this command.
sudo tar -xvzf ~/Downloads/jdk-8u241-linux-x64.tar.gz
CopyAccording to this command, the JDK filename is jdk-8u241-linux-x64.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 gedit /etc/environment
Copy
Step 6:
In the opened file, add the following bin folders to the existing PATH variable.
/usr/lib/jvm/jdk1.8.0_241/bin
/usr/lib/jvm/jdk1.8.0_241/db/bin
/usr/lib/jvm/jdk1.8.0_241/jre/bin
CopyThe PATH variables have to be separated by semicolon.
Notice that the installed JDK version is 1.8 update 241. Depending on your JDK version, the paths can be different.Add the following environment variables at the end of the file.
J2SDKDIR="/usr/lib/jvm/jdk1.8.0_241"
J2REDIR="/usr/lib/jvm/jdk1.8.0_241/jre"
JAVA_HOME="/usr/lib/jvm/jdk1.8.0_241"
DERBY_HOME="/usr/lib/jvm/jdk1.8.0_241/db"
Copy
The environment file before the modification:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
CopyThe environment file after the modification:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/jdk1.8.0_241/bin:/usr/lib/jvm/jdk1.8.0_241/db/bin:/usr/lib/jvm/jdk1.8.0_241/jre/bin"
J2SDKDIR="/usr/lib/jvm/jdk1.8.0_241"
J2REDIR="/usr/lib/jvm/jdk1.8.0_241/jre"
JAVA_HOME="/usr/lib/jvm/jdk1.8.0_241"
DERBY_HOME="/usr/lib/jvm/jdk1.8.0_241/db"
Copy
Save the changes and close the gedit.
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/jdk1.8.0_241/bin/java" 0
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.8.0_241/bin/javac" 0
sudo update-alternatives --set java /usr/lib/jvm/jdk1.8.0_241/bin/java
sudo update-alternatives --set javac /usr/lib/jvm/jdk1.8.0_241/bin/javac
Copy
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
Copy
Step 9:
Restart the computer (or just log-out and login) and open the terminal again.
Step 10:
Enter the following command.
java -version
Copy
If you get the installed Java version as the output, you have successfully installed the Oracle JDK in your system.