This action downloads a Java Development Kit (JDK) built by Oracle and installs it using actions/setup-java.
JDKs built by Oracle are Oracle JDK and Oracle OpenJDK.
| Input Name | Default Value | Description | 
|---|---|---|
| website | oracle.com | From where the JDK should be downloaded. | 
| release | 25 | Java feature release number or name of an Early-Access project. | 
| version | latest | An explicit version of a Java release. | 
| install | true | Install the downloaded JDK archive file. | 
| install-as-version | empty | Control the value passed as java-version | 
| uri | empty | Custom URI of a JDK archive file to download. | 
The website input specifies from where the JDK should be downloaded.
It defaults to oracle.com.
The following values are supported:
- 
oracle.comfor Oracle JDK 21 and later.This action only supports Oracle JDKs provided under the Oracle No-Fee Terms and Conditions License. 
- 
jdk.java.netfor the current OpenJDK General Availability and Early-Access builds.Early-Access builds include the mainline JDK, Generational ZGC, Project Loom and jextract, Panama, Valhalla, etc. The jdk.java.net-uri.properties file provides a set of key-value pairs mapping OpenJDK descriptions to their download links. 
The release input denotes a Java feature release number (21, 22, ...) or a name of an Early-Access project (loom, ...).
It defaults to the current General-Availability Release for the Java SE platform., which is 25 as of today.
Note that websites may offer a different set of available releases.
For example, oracle.com only offers releases of 21 and above; it does not offer Early-Access releases.
Note also that websites may stop offering any release at any time. Please consult the website for details on which release is offered for how long.
The version input can be used to specify an explicit version of a Java release, such as 21.0.4.
It is set by default to latest.
Caution
Older versions of the JDK are provided to help developers debug issues in older systems. They are not updated with the latest security patches and are not recommended for use in production.
The install input enables or disables the automatic JDK installation of the downloaded JDK archive file.
It is enabled by default by using true as its value.
This action delegates to actions/setup-java to install the downloaded JDK archive file using default settings.
Pass false to skip the automatic JDK installation and invoke actions/setup-java with your custom settings.
The install-as-version input allows overriding the value passed as java-version to the underlying actions/setup-java action.
Supported values of install-as-version include:
- PARSE_URIparses the computed or given URI for a valid Java version string, ex.- 21.0.4.
- HASH_URIreturns the- hashCode()of the computed or given URI as a string, ex.- 12345.
- All strings supported by actions/setup-java
The default value of install-as-version depends on the release input documented above:
- If releaseinput starts with a digit,install-as-versiondefaults toPARSE_URI.
- If releaseinput does not start with a digit,install-as-versiondefaults toHASH_URI.
Use the uri input to download a JDK from the specified URI originating from a supported website.
The value of inputs website, release, and version ignored.
The following examples use the JDK Script Friendly URLs to download and set up binaries that are made available under the Oracle No-Fee Terms and Conditions License.
steps:
  - name: 'Set up latest Oracle JDK 25'
    uses: oracle-actions/setup-java@v1
    with:
      website: oracle.com
      release: 25steps:
  - name: 'Set up archived Oracle JDK 21.0.4'
    uses: oracle-actions/setup-java@v1
    with:
      website: oracle.com
      release: 21
      version: 21.0.4Caution
Older versions of the JDK are provided to help developers debug issues in older systems. They are not updated with the latest security patches and are not recommended for use in production.
The following examples download and install OpenJDK binaries that are made available under the GNU General Public License, version 2, with the Classpath Exception.
steps:
  - name: 'Set up latest JDK N from jdk.java.net'
    uses: oracle-actions/setup-java@v1
    with:
      website: jdk.java.net
      release: N # Replace N with GA, EA, 21, 22, 23, ...Note
This action supports two version symbolic modes for release: EA on jdk.java.net:
- version: latestupdates as early as possible to the latest-and-greatest JDK build (default)
- version: stableupdates later in the release cycle, usually when an early-access JDK build went GA
steps:
  - name: 'Set up Early-Access build of a named project from jdk.java.net'
    uses: oracle-actions/setup-java@v1
    with:
      website: jdk.java.net
      release: loom # or panama, valhalla, ...All environments with Java 21 pre-installed are supported.
These include the following labels: ubuntu-latest, macos-latest, and windows-latest.
Make sure to check the announcement and the FAQ on Inside Java.