821 words
4 minutes

Install OpenJDK on Ubuntu Server

Cover image for Install OpenJDK on Ubuntu Server

This article is for those looking for a detailed and straightforward guide on installing OpenJDK on Ubuntu Server.

NOTE

With the release of Java 11, Oracle JDK became commercial and is no longer free.

OpenJDK is an open-source implementation of the Java Standard Edition platform with contributions from Oracle and the Java open community. The Oracle JDK build process is built from the OpenJDK source, so there isnโ€™t much difference between Oracle JDK and OpenJDK.

NOTE

OpenJDK is free but will need to be updated every 6 months.

IMPORTANT

OpenSSH must be installed on the server, and port 22 must be open in order to be able to connect to the server using the SSH protocol.

To install OpenSSH on a server, you can use the command:

Terminal window
sudo apt install openssh-server
NOTE

This guide walks you through connecting to a server with the iTerm2 terminal emulator on macOS.

We connect to the server on which you plan to install OpenJDK.

Update the local package index to the latest changes in the repositories using the command:

Terminal window
sudo apt update

Install OpenJDK on Ubuntu Server - Step 1

You may need a Java Development Kit (JDK) in addition to the JRE in order to compile and run certain Java-based software.

To install the JDK, run the following command, which will also install the JRE:

Terminal window
sudo apt-get install -y default-jdk

Install OpenJDK on Ubuntu Server - Step 2

Now you need to make sure that OpenJDK is installed correctly. To do this, you need to run the command:

Terminal window
java -version

Install OpenJDK on Ubuntu Server - Step 3

Based on the message received, OpenJDK is installed correctly.

Many programs written with Java use the โ€œJAVA_HOMEโ€ environment variable to determine where Java is installed. Therefore, you need to define this variable and assign it a value containing the path to the Java installation location.

Letโ€™s define the path to the Java installation location using the command:

Terminal window
sudo update-alternatives --config java

Install OpenJDK on Ubuntu Server - Step 4

In this example, the path to the Java installation location looks like this:

Terminal window
/usr/lib/jvm/java-11-openjdk-amd64/bin/

In order to define an environment variable and assign a value to it, you need to make changes to the โ€œenvironmentโ€ file by opening it in a text editor using the command:

Terminal window
sudo vim /etc/environment

Install OpenJDK on Ubuntu Server - Step 5

Press the โ€œiโ€ button to switch to edit mode, then at the end of the file define a new variable โ€œJAVA_HOMEโ€ and assign it a value containing the path to the Java installation location obtained earlier.

Terminal window
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64/bin/"
NOTE

The path to the Java installation location must be specified up to and including the โ€œbinโ€ folder.

Install OpenJDK on Ubuntu Server - Step 6

Now press the โ€œEscโ€ button to exit edit mode, then type "" and press the โ€œEnterโ€ button to save your changes and exit the editor.

Install OpenJDK on Ubuntu Server - Step 7

Next, you need to apply the changes made to the current session using the command:

Terminal window
source /etc/environment

Install OpenJDK on Ubuntu Server - Step 8

Now letโ€™s make sure that the environment variable has the correct value using the command:

Terminal window
echo $JAVA_HOME

Install OpenJDK on Ubuntu Server - Step 9

Based on the message received, the environment variable has the correct value.

Install OpenJDK on Ubuntu Server - Step 10


Patreon Exclusives#

๐Ÿ† Join my Patreon and dive deep into the world of Docker and DevOps with exclusive content tailored for IT enthusiasts and professionals. As your experienced guide, I offer a range of membership tiers designed to suit everyone from newbies to IT experts.


Tools I Personally Trust#

If youโ€™re building things, breaking things, and trying to keep your digital life a little saner (like every good DevOps engineer), these are two tools that I trust and use daily:

๐Ÿ›ธ Proton VPN - My shield on the internet. It keeps your Wi-Fi secure, hides your IP, and blocks those creepy trackers. Even if Iโ€™m hacking away on free cafรฉ Wi-Fi, I know Iโ€™m safe.

๐Ÿ”‘ Proton Pass - My password vault. Proper on-device encryption, 2FA codes, logins, secrets - all mine and only mine. No compromises.

These are partner links - you wonโ€™t pay a cent more, but youโ€™ll be supporting DevOps Compass. Thanks a ton - it helps me keep this compass pointing the right way ๐Ÿ’œ


Gear & Books I Trust#

๐Ÿ“• Essential DevOps books
๐Ÿ–ฅ๏ธ Studio streaming & recording kit
๐Ÿ“ก Streaming starter kit


Social Channels#

๐ŸŽฌ YouTube
๐Ÿฆ X (Twitter)
๐ŸŽจ Instagram
๐Ÿ˜ Mastodon
๐Ÿงต Threads
๐ŸŽธ Facebook
๐Ÿฆ‹ Bluesky
๐ŸŽฅ TikTok
๐Ÿ’ป LinkedIn
๐Ÿ“ฃ daily.dev Squad
โœˆ๏ธ Telegram
๐Ÿˆ GitHub


Community of IT Experts#

๐Ÿ‘พ Discord


Refill My Coffee Supplies#

๐Ÿ’– PayPal
๐Ÿ† Patreon
๐Ÿฅค BuyMeaCoffee
๐Ÿช Ko-fi
๐Ÿ’Ž GitHub
โšก Telegram Boost

๐ŸŒŸ Bitcoin (BTC): bc1q2fq0k2lvdythdrj4ep20metjwnjuf7wccpckxc
๐Ÿ”น Ethereum (ETH): 0x76C936F9366Fad39769CA5285b0Af1d975adacB8
๐Ÿช™ Binance Coin (BNB): bnb1xnn6gg63lr2dgufngfr0lkq39kz8qltjt2v2g6
๐Ÿ’  Litecoin (LTC): LMGrhx8Jsx73h1pWY9FE8GB46nBytjvz8g


Is this content AI-generated?

No. Every article on this blog is written by me personally, drawing on decades of hands-on IT experience and a genuine passion for technology.

I use AI tools exclusively to help polish grammar and ensure my technical guidance is as clear as possible. However, the core ideas, strategic insights, and step-by-step solutions are entirely my own, born from real-world work.

Because of this human-and-AI partnership, some detection tools might flag this content. You can be confident, though, that the expertise is authentic. My goal is to share road-tested knowledge you can trust.

Install OpenJDK on Ubuntu Server
https://www.heyvaldemar.com/install-openjdk-on-ubuntu-server/
Author
Vladimir Mikhalev
Published at
2021-03-01
License
CC BY-NC-SA 4.0