Download Guide

There are several ways to download the JDK and optional components, and the best will depend on your particular situation and use case. Downloads covered here include:


Downloading the Oracle JDK

Overview

There are multiple ways to download the JDK, each ideal for a different user and use-case combination. The table below will guide you to the best download location for your needs.

The table assumes that you know what types of releases you want, but if you would like some guidance, see Choosing the Right JDK Version: An Unofficial Guide. Oracle customers can also open a Non-Technical Service Request for assistance.

For reasons related to security, Oracle recommends you only download the Oracle JDK directly from Oracle or trusted sources.

Jump to:


A Note on Licenses

Different Java releases are made available under different licenses. It is the user's responsibility to ensure that their use of Java conforms to the applicable license.

Licenses mentioned in this page include:


Oracle JDK Download Methods

Oracle JDK Download Methods
I want... ...and... ...also... ...so I will get it from...
A container image of the Oracle JDK on Oracle Linux
I want a ready-made image

Container Registry (OCR), which has Oracle Linux container images with the JDK included. Oracle Linux and the included JDK will be covered by different licenses.


There are 4 Java repositories in OCR: jdk, serverjre, openjdk, and jdk-no-fee-term.


The jdk repository has images with every JDK release, while the serverjre repository has images with the server version of JDK 8, which only supports the x86-64 architecture. Both repositories require a free Oracle account, and downloads are covered under the Standard Oracle Terms. See the repository pages for download instructions.


The openjdk repository has images with OpenJDK releases, which are covered by the GPL. No login is required. See the repository page for download instructions.


The jdk-no-fee-term repository has images with JDK releases covered by the NFTC license. No login is required. See the repository pages for download instructions.


Learn More

I want to build my own Oracle's GitHub repository, which has Dockerfiles and sample images. These Dockerfiles are samples meant to be customized, and are covered by the UPL license. Note that Dockerfiles may need to be updated for each CPU release.
The JDK for Oracle Linux
I am an OCI customer

The Oracle Cloud Infrastructure yum Server.


Access to content on this server depends on your support contract. If you are an OCI customer, the full Oracle JDK is available. If you are using a base Oracle Linux image these repositories are included. This server replicates all of the Unbreakable Linux Network (ULN) repositories (see below), but does not require ULN registration.


Learn More

I am an Oracle Linux user I am an Oracle Linux Support customer

Unbreakable Linux Network (ULN) channels. These repositories are the same as the OCI repositories but are available outside of OCI, and include software not available in the public Oracle Linux yum server. ULN channels are only available to Oracle Linux Support customers.


Learn More

The JDK for a different OS
I want to download it manually
I am an Oracle customer

My Oracle Support is the best method. See the following documents:


It is the user's responsibility to ensure that their use of Java conforms to the applicable license. If you are unsure, file a Non-Technical Service Request.


I am not a customer

The Java download page on Oracle.com, which has currently-supported releases covered by the NFTC and OTN licenses.


At the top of the page are the releases covered by the NFTC license, and beneath that are the releases covered by the OTN license. It is the user's responsibility to ensure that their use of Java conforms to the applicable license. GraalVM is available from this page as well.


Releases covered by the OTN license require a login with a free Oracle account.


Publicly-available end-of-life releases can be downloaded from the Java Archive page on Oracle.com. These are covered by the NFTC, OTN or BCL license, depending on the particular release.



Alternatively, anyone with an Oracle account can download any version of the JDK using Oracle Software Delivery Cloud. This system allows you to select multiple Oracle products, and then download a customized downloader. That downloader will download .zip files of the chosen packages. 


These are made available under Oracle Standard Terms and Restrictions. 


I want to automate downloading
I am an OCI user

Java Management Service (JMS) on OCI, which can generate customized terminal commands and Dockerfiles to download the latest recent versions of releases available under the NFTC and OTN licenses.


Java Management Service tracks all of a user's downloads and can generate reports based on that data. These reporting features are mainly useful for fleet management and can be ignored if they are not useful to you.


Another advantage of using JMS is that you if you automate a download of an LTS release covered by the NFTC, and the license changes to OTN, you simply have to login to OCI and accept the new terms. Your existing download tokens will automatically be extended to the new license, which means you do not have to update any scripts.


Note that when creating an OCI account, even a free tier, Oracle will ask for a credit card number to verify your identity. Your credit card information will not be saved and you will never be automatically billed.


Learn More

I do not use OCI

JDK and GraalVM Script Friendly URLs on Oracle.com has instructions for automating downloads from Oracle.com. Releases available under the NFTC license can be downloaded via command line or automatically in scripts and Dockerfiles.


It is possible to use these scripts to download both the latest and archived releases. Note that a script configured to download the latest version of a release family will cease functioning when that release family reaches end-of-life and becomes an archive release.



Enterprise Performance Pack (EPP)

In 2022 Oracle introduced Enterprise Performance Pack for JDK 8 users that were unable to upgrade to later JDK versions, but could benefit from many of the performance improvements introduced with JDK 17.

EPP is a Java runtime that brings the performance enhancements of the JDK 17 Java Virtual Machine to a Java SE 8 runtime. For most many situations, you can run Java SE 8 applications unchanged on the EPP, and will see significant performance improvements. The EPP is ideal if you want to use Java SE 8 and you're running workloads at scale.

Download

Learn More


GraalVM

GraalVM is a high performance JDK that speeds up the performance of Java and JVM-based applications, and simplifies the building and running of Java cloud native services.  You can use the GraalVM JDK just like any other Java Development Kit in your IDE.

Download

Learn More


Java Flight Recorder (JFR) and JDK Mission Control (JMC)

Java Flight Recorder (JFR) is a profiling and event collection framework built into the JDK. It allows developers and system administrators to gather detailed, low-level information about the behavior of the Java Virtual Machine and the application running on it.

JDK Mission Control (JMC) can be used to analyze the data collected through JFR, or to connect to a running Java virtual machine, allowing you to understand in real-time, or after-the-fact, what lead to a hang, crash, excessive CPU or memory use, or many other problems.

Download

Learn More


MSI Enterprise JRE Installer (Java SE 8 Only)

The Java MSI Installer allows you to quickly and consistently roll out Oracle JRE updates to Windows systems using common automation tools. The Java MSI Installer saves system administrators and DevOps time as they can re-use configurations and deploy a new Java update quickly.

Download

Learn More