How To Install Oracle Java 8 and OpenJDK 11 on Ubuntu 22.04, 20.04
This tutorial is going to show you how to install Oracle Java 8 and OpenJDK 11 on Ubuntu 22.04/Ubuntu 20.04. Java 11 has been released on September 25, 2018 and it’s the first long term support (LTS) release since Oracle changed release schedule.
Java Release Model
Previously, Oracle releases a new major version of Java every two years, a minor version every 6 months. (It took 3 years to release Java 9, because of Jigsaw.) Some people, often company management, like this model because it makes production stable. Other people, often developers, think this is too slow. They like innovations.
After Java 9, Oracle releases a new major version of Java every 6 months to make developers happy. Every 3 years, there will be a LTS release (Long Time Support), which is supported for 8 years, to appease company management. Java 11 is the first LTS release. The next LTS will be Java 17. Java 8 will be receiving updates through 2025. Non-LTS releases will no longer receive update once the next version comes out. That means Java 9 and Java 10 have already been phased out.
OpenJDK vs Oracle JDK
Oracle started providing its own OpenJDK builds since Java 9. Closed-source features of Oracle JDK, such as Java flight recorder and Java mission control, are pushed to OpenJDK. Starting with Java 11, Oracle JDK and Oracle’s OpenJDK builds are now functionally identical and interchangeable. The differences between the two are cosmetic, packaging and license. Oracle’s OpenJDK is released under GPL. If you want commercial support, you can use Oracle JDK, which is released under OTN (Oracle Technology Network) license.
Oracle’s OpenJDK builds are available at jdk.java.net. There are other distributions of OpenJDK, such as AdoptOpenJDK and Amazon Correcto.
Installing Oracle JDK 8 on Ubuntu 22.04/Ubuntu 20.04
Oracle JDK 8 (aka 1.8) no longer uses BCL (Binary Code License). From April 16, 2019, Oracle JDK 8 uses the OTN (Oracle Technology Network) license, which requires you to create an Oracle account to download JDK 8. So you can not use PPA to install JDK 8 anymore.
Head over to Oracle JDK 8 download page. Accept the license agreement and download the tar.gz
file. It will prompt you to create an Oracle account.
After logging into your Oracle account, you can download JDK 8. Then open up a terminal window and navigate to the download directory. Then extract the tar.gz file to /usr/lib/jvm/
directory.
sudo tar xvf jdk-8u221-linux-x64.tar.gz --directory /usr/lib/jvm/
Now we can check Java version.
/usr/lib/jvm/jdk1.8.0_221/bin/java -version
Output:
java version "1.8.0_221" Java(TM) SE Runtime Environment (build 1.8.0_221-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
Check Java compiler version
/usr/lib/jvm/jdk1.8.0_221/bin/javac -version
Output:
javac 1.8.0_221
Installing Oracle’s OpenJDK 11 on Ubuntu 22.04 and Ubuntu 20.04
Since Oracle’s OpenJDK 11 build has the same features as Oracle JDK 11, you can use OpenJDK if you don’t need Oracle’s commercial support. It’s strongly recommended that you use the OpenJDK package from your system and package manager for better integration and and ease of update.
Run the following command to install OpenJDK 11 on Ubuntu 22.04 and Ubuntu 20.04 from the default repository.
sudo apt install openjdk-11-jdk
This will also install the openjdk-11-jre
package, which contains the Java runtime environment and is required to run Java programs. Once the installation is complete, check version number.
java -version
Output:
openjdk 11.0.4 2019-07-16 OpenJDK Runtime Environment (build 11.0.4+11-post-Ubuntu-1ubuntu220.04) OpenJDK 64-Bit Server VM (build 11.0.4+11-post-Ubuntu-1ubuntu220.04, mixed mode, sharing)
Setting the Default JDK
First, you need to run the following commands to add JDK 8 to the alternatives system.
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_221/bin/java 1 sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_221/bin/javac 1
To set a default JDK on Ubuntu 22.04/20.04, run the following command:
sudo update-alternatives --config java
The available options will be listed. Type a number to select a default JDK. JDK 11 has significant stability, functionality and performance improvements compared to JDK 8, so you might want to choose JDK 11.
You also need to do the same for Java compiler.
sudo update-alternatives --config javac
Now you can run java -version
and javac -version
command to check the default JDK.
Wrapping Up
That’s it! I hope this tutorial helped you install Oracle JDK 8 and OpenJDK 11 on Ubuntu 22.04/20.04. As always, if you found this post useful, then subscribe to our free newsletter to get more tips and tricks.
You may also want to learn how to identify bugs in your code.
Take care 🙂
You saved lots of productive hours by providing to the point how to guide. Thanks a lot!!
Hi,
be aware that Oracle Java is no longer free. It is only free for specific scenarios…
Regards
Today Jan 12th 2020, instead of using 221 during your installation process used 231.
This really save my day!! Thanks!
Excellent tutorial! You have been of great help. Thanks.
Really nice article. Totally worth bookmarking for future references