Oracle JDK Multiple Instances

Learn about Oracle JDK, a widely used software that can have multiple instances on a single endpoint. BigFix uses the Middleware Scanner to discover all installed Oracle JDK versions and installation paths, and updates outdated versions in a single execution.

BigFix supports patching of Oracle JDK versions 8, 11, 17, 21, and 25. To support accurate detection and smooth patching, BigFix uses the Middleware Scanner for all Oracle JDK installations done using TAR.GZ or ZIP or EXE or MSI packages.

Note: This workflow applies only to Oracle JDK installations that use tarball packages for non-windows systems and zip, msi, or exe based packages for windows. Upgrades for deb and rpm based package installations continue to use their respective native BigFix Fixlets and do not require the Middleware Scanner.

Supported Versions

BigFix supports patching of the following Oracle JDK versions across different operating systems.

Table 1. Oracle JDK supported versions and operating systems
JDK Version Supported Operating Systems
8 Windows x64, Windows x86, Solaris, Linux
11 Windows x64, Linux
17 Windows x64, Linux
21 Windows x64, Linux
25 Windows x64, Linux

Scanner Process

For running the scans on every software version, refer to BigFix Scanner for Middleware Application. These results are then used by the Oracle JDK patching tasks to determine which instances require updates.

Note: Before you start patching, it is recommended that you back up all custom configurations, instance files, and environment-specific settings. This helps you restore custom settings if needed after patching.

Patching Process

The Oracle JDK patching task uses the scanner results to identify lower versions and update them to the patch version specified in the task.

  1. Select the applicable computer in the BigFix Console to review the installed versions.
  2. When you take action on the endpoint, the patching task reads the results.xml and identifies all Oracle JDK instances.
  3. All outdated or lower Oracle JDK versions are updated in a single execution, including:
    Recommended:

    If only one instance is found, that specific instance is patched.

    If multiple instances are found, for example, five, the task goes through all five instances and tries to patch them all in a single run.

  4. If the installed version is the same or higher, then patching is skipped.
    Note:
    • Services must be stopped before patching starts and restarted after patching is complete.
    • Registry keys are not updated during patching. Only the necessary folders are copied during patching.

Exit codes and their meanings

When you perform tasks such as patching or extracting files in Oracle JDK, certain exit codes may be returned to show the result of the operation. These codes help identify problems during the installation or update process. The following list shows common exit codes, their meanings, and suggested actions to fix the issues.
Note: Oracle JDK checks its version using ./java.exe -version or ./java -version. Make sure that all required prerequisites are met before you continue.
Table 2. Exit codes and their meanings
Exit code Action
Exit Code 0: Success

You can activate and check the JDK analyses.

Exit Code 11: Archive extraction failed

Archive extraction failed (for example, corrupt tar or out of disk space).

Exit Code 12: Source payload missing
  • The extracted archive did not contain the expected root folder.
  • Ensure the correct file exists at the specified location.
Exit Code 13: Patching of one or more instances failed

Check the local patch_java_OracleJDK_<version>.log file.

Note: After a successful execution, run the middleware scanner task again to check the latest versions.