Skip to content

GitHub Action to download and install Oracle's Java Development Kit builds

License

Notifications You must be signed in to change notification settings

oracle-actions/setup-java

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

oracle-actions/setup-java

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 Overview

Input Name Default Value Description
website oracle.com From where the JDK should be downloaded.
release 23 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.

Input website

The website input specifies from where the JDK should be downloaded. It defaults to oracle.com.

The following values are supported:

Input release

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 23 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.

Input version

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.


Input install

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.

Input install-as-version

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_URI parses the computed or given URI for a valid Java version string, ex. 21.0.4.
  • HASH_URI returns 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 release input starts with a digit, install-as-version defaults to PARSE_URI.
  • If release input does not start with a digit, install-as-version defaults to HASH_URI.

Input 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.

Examples for oracle.com

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.

Download and install the latest version of Oracle JDK

steps:
  - name: 'Set up latest Oracle JDK 23'
    uses: oracle-actions/setup-java@v1
    with:
      website: oracle.com
      release: 23

Download and install a specific version of Oracle JDK

steps:
  - name: 'Set up archived Oracle JDK 21.0.4'
    uses: oracle-actions/setup-java@v1
    with:
      website: oracle.com
      release: 21
      version: 21.0.4

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.


Examples for jdk.java.net

The following examples download and install OpenJDK binaries that are made available under the GNU General Public License, version 2, with the Classpath Exception.

Download and install an OpenJDK build of a given release

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: latest updates as early as possible to the latest-and-greatest JDK build (default)
  • version: stable updates later in the release cycle, usually when an early-access JDK build went GA

Download and install an Early-Access build of a named OpenJDK project

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, ...

Supported GitHub Actions Virtual Environments

All environments with Java 21 pre-installed are supported. These include the following labels: ubuntu-latest, macos-latest, and windows-latest.

More information

Make sure to check the announcement and the FAQ on Inside Java.

Status

.github/workflows/test.yml