Install Oracle Java JDK 18 in Ubuntu 20.04
Install JDK 18 in Ubuntu:
1. Download Java package
Firstly, go to oracle website and select download the .deb package:
It’s a 64-bit .deb package for modern PC and laptops.

2. Install the .deb package
Next, press Ctrl+Alt+T on keyboard to open terminal. When it opens, run the command below to install the package you just downloaded:
cd ~/Downloads && sudo apt install ./jdk-18\_linux-x64\_bin.deb
Here you may also double-click the .deb in file manager to install it.
3. Set JDK 18 as default:
It installs the language files into ‘/usr/lib/jvm/jdk-18/
‘ directory. To set it as default, do the following 2 steps one by one.
a.) Create symbolic links for the executable files:
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-18/bin/java 1
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk-18/bin/javac 1
sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk-18/bin/jar 1
Similarly, add links for other executable files (e.g., jarsigner
, jlink
, javadoc
) as need.

b.) Next, run the commands below one by one, and type number to select Java JDK 18 as default.
sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config jar

When done, verify by running command in terminal:
java -versionjavac -version

4. Set JAVA_HOME:
Option 1.) Set JAVA_HOME for current console, that will work until you close it:
export JAVA\_HOME=/usr/lib/jvm/jdk-18setenv JAVA\_HOME=/usr/lib/jvm/jdk-18
Option 2.) To make it permanent, create and edit config file via command:
sudo gedit /etc/profile.d/jdk.sh
then add following lines:
export J2SDKDIR=/usr/lib/jvm/jdk-18 export J2REDIR=/usr/lib/jvm/jdk-18 export PATH=$PATH:/usr/lib/jvm/jdk-18/bin:/usr/lib/jvm/jdk-18/db/bin export JAVA_HOME=/usr/lib/jvm/jdk-18 export DERBY_HOME=/usr/lib/jvm/jdk-18/db

And create anther one for C shell:
sudo gedit /etc/profile.d/jdk.csh
add following lines and save it:
setenv J2SDKDIR /usr/lib/jvm/jdk-18 setenv J2REDIR /usr/lib/jvm/jdk-18 setenv PATH ${PATH}:/usr/lib/jvm/jdk-18/bin:/usr/lib/jvm/jdk-18/db/bin setenv JAVA_HOME /usr/lib/jvm/jdk-18 setenv DERBY_HOME /usr/lib/jvm/jdk-18/db

Finally, change the permissions via command, and it should take place at the next boot.
sudo chmod +x /etc/profile.d/jdk.csh /etc/profile.d/jdk.sh
Last updated
Was this helpful?