In a nutshell, there are two coexisting branches of Java: the proprietary, closed-source Oracle Java and the community-maintained open-source OpenJDK.
OpenJDK is licensed under GPL-2.0, and it consists of a Java Virtual Machine and a java-bytecode compiler. Since this is the easier and cheaper way, it's the one we're going to be using in this tutorial.
Here, you'll learn how to install OpenJDK on Windows, Mac, and Linux in a few different ways.
How to Install OpenJDK
Very Easy Semi-Automatic Mode – for Windows and macOS
Keep in mind that this will require administrator access.
If you are in a hurry and just want a plug-and-play install with an easy uninstaller and automatic setup, that's fine – I won't judge. :)
Also, Eclipse is the main open-source Java IDE in case you didn't know.
You'll be redirected to a page with a list of install links. Look for your OS, choose the packaged installer (
.msi for Windows or
.pkg for macOS) and download it. Remember to install ALL features, as it won't work out of the box if you don't allow the installer to set JAVA_HOME. Then run it and voilà! You're done.
Very Easy Semi-Automatic Mode – for Linux
This method also needs admin access, of course.
First, remember to run this command:
sudo apt-get update
Your OS will very likely have its own OpenJDK package available in the repository manager.
For Ubuntu/Debian, the package names are usually named like
openjdk-<version_number>-jre-headless. For example:
sudo apt install openjdk-8-jre-headless # installs for java 8
sudo apt install openjdk-13-jre-headless # installs for java 13
That's it, the open-source community saves the day again.
Still Pretty Easy, Mostly Manual Mode – for Windows, macOS, and Linux
You can get your compressed OpenJDK from a number of different vendors such as Microsoft, Red Hat, Intel or anyone offering their fork of OpenJDK. They might even offer their own installer file. But to keep it simple we're using Adopt Open JDK once again.
Select your preferred version and JVM ( OpenJDK 11 LTS on HotSpot JVM if you are unsure) and download the compressed JDK.
Why would you choose this option over the much easier methods just described above? Maybe you don't have administrator rights on your current machine or maybe you are setting up your own strategy to manage multiple Java versions. I don't know, but it has its use cases.
Steps for Windows
- Store the extracted files in the Directory Tree
First, extract the zip file into a folder (
C:\Program Files\OpenJDK would be the educated choice. Note that
\OpenJDK was manually added). It will create the folder for the JDK installation, with
\bin as one of its sub-directories.
You will need Administrator privileges to extract the zip file to this location.
If you cannot use Administrator rights for any reason, extract it to a location under your user space, such as
2. Open Environment Variables
Open the Control Panel > System & Security > System > Advanced System Settings (it'll be under 'Device Specifications in Windows 10+).
In the System Properties window, select the Advanced tab, then Environment Variables.
3. Set JAVA_HOME:
Under System Variables, click New. Enter the variable name as JAVA_HOME. Enter the variable value as the installation path of the JDK (appending the
\bin sub-folder at the end of the path). Mine was
Click OK and Apply Changes. If you are doing this process as a non-admin, choose
User Variables instead.
4. Add the binary executables to PATH:
Stay in the Environment Variables window. Click on the variable named
Path (either for System or User, depending on your choice in the last section).
You'll see a list of stuff. These are the executables you have access from your CLI (like Windows Terminal, Command Prompt, or Poweshell).
Click on 'New' at the top-right corner and add
%JAVA_HOME% as a variable.
Click OK and Apply Changes.
5. Test Installation
Open a Command Line Interface. Type
java -version. If the output was the version, all was OK, congrats!
If it wasn't, restart your computer and try again. If it still isn't working, double-check this tutorial, try to read your JAVA_HOME path, and see if it points to the the bin folder within the downloaded folder's path.
Steps for Linux/macOS:
- Store the extracted files in the Directory Tree:
Then, extract the compressed file appropriate to your OS. In case you can't or don't want to use admin permissions, extract it somewhere in your user space (like
If you want a more conventional location, extract it to
/usr/local/, which is where software manually installed by the user conventionally goes in POSIX systems.
My command (for Linux) was this one:
sudo tar -xf OpenJDK11U-jdk_x64_linux_hotspot_126.96.36.199_1.tar.gz -C /usr/local.
2. Set JAVA_HOME and add it to PATH:
Set JAVA_HOME to where you extracted your OpenJDK installation. Point it to the OpenJDK directory, not to its
/bin subfolder, as JAVA_HOME will not only be used to determine the executables' location.
This should be located in your shell initialization file. For example, let's suppose These are the two last lines of my
3. Verify Installation
Now, refresh your shell by either sourcing the init file or opening another tab/window.
You can check installation with
java -version. If no errors are displayed, congratulations! Time to do some Java'ing.
And that's it! Now you should have OpenJDK installed and ready to use on your machine. Thanks for reading.