Java Platform, Standard Edition
JDK Installation Guide
Release 22
F91500-01
March 2024
Java Platform, Standard Edition JDK Installation Guide, Release 22
F91500-01
Copyright © 1993, 2024, Oracle and/or its affiliates.
This software and related documentation are provided under a license agreement containing restrictions on
use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your
license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license,
transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse
engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is
prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If
you find any errors, please report them to us in writing.
If this is software, software documentation, data (as defined in the Federal Acquisition Regulation), or related
documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S.
Government, then the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software,
any programs embedded, installed, or activated on delivered hardware, and modifications of such programs)
and Oracle computer documentation or other Oracle data delivered to or accessed by U.S. Government end
users are "commercial computer software," "commercial computer software documentation," or "limited rights
data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental
regulations. As such, the use, reproduction, duplication, release, display, disclosure, modification, preparation
of derivative works, and/or adaptation of i) Oracle programs (including any operating system, integrated
software, any programs embedded, installed, or activated on delivered hardware, and modifications of such
programs), ii) Oracle computer documentation and/or iii) other Oracle data, is subject to the rights and
limitations specified in the license contained in the applicable contract. The terms governing the U.S.
Government's use of Oracle cloud services are defined by the applicable contract for such services. No other
rights are granted to the U.S. Government.
This software or hardware is developed for general use in a variety of information management applications.
It is not developed or intended for use in any inherently dangerous applications, including applications that
may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you
shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its
safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this
software or hardware in dangerous applications.
Oracle®, Java, MySQL, and NetSuite are registered trademarks of Oracle and/or its affiliates. Other names
may be trademarks of their respective owners.
Intel and Intel Inside are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are
used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Epyc,
and the AMD logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered
trademark of The Open Group.
This software or hardware and documentation may provide access to or information about content, products,
and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly
disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise
set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be
responsible for any loss, costs, or damages incurred due to your access to or use of third-party content,
products, or services, except as set forth in an applicable agreement between you and Oracle.
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at
http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc
.
Contents
Preface
Audience v
Documentation Accessibility v
Diversity and Inclusion v
Related Documents v
Conventions v
1
Overview of JDK Installation
2
Version-String Format
3
Installation of the JDK on Linux Platforms
General Notes About Installing the JDK on Linux Platforms from Archive Files 3-1
General Notes About Installing the JDK on Linux Platforms from RPM packages 3-1
System Requirements for Installing JDK on Linux Platforms 3-2
Installing the JDK on Linux from Archive Files, Debian Packages, RPM Packages, and
Oracle Linux Repositories 3-3
Installing the 64-Bit JDK on Linux Platforms 3-5
Installing the 64-Bit JDK Package on Debian-based Linux Platforms 3-5
Installing the 64-Bit JDK on RPM-Based Linux Platforms 3-6
Installing the 64-Bit JDK on Oracle Linux Platforms 3-7
4
Installation of the JDK on macOS
System Requirements for Installing the JDK on macOS 4-1
JDK Installation Instruction Notation for macOS 4-1
Determining the Default JDK Version on macOS 4-2
Installing the JDK on macOS 4-2
Uninstalling the JDK on macOS 4-3
iii
Installation FAQ for macOS 4-3
5
Installation of the JDK on Microsoft Windows Platforms
System Requirements for Installing the JDK on 64-Bit Windows Platform 5-1
JDK Installation Instruction Notation for Windows 5-1
JDK Installation Instructions for Windows 5-1
Downloading the JDK Installer 5-2
Installing the JDK from the JDK .exe Installer 5-2
Installing the JDK from the MSI Enterprise Installer 5-3
Installing the JDK from the Command Line 5-3
Creating a Log File 5-3
Installing the JDK Silently 5-3
Beginning to Use the JDK 5-4
Uninstalling the JDK on Windows 5-4
Uninstalling the JDK in Silent Mode 5-4
JDK Installation Troubleshooting 5-5
System Error During Decompression 5-6
Program Cannot Be Run in DOS Mode 5-6
Characters That Are Not Part of the System Code Page 5-6
Cleanup the Registry After a Failed JDK Uninstall 5-6
Fixing Shim Situation when JDK 22 and JRE 8 are Installed 5-7
6
Installed Directory Structure of JDK
iv
Preface
Java Platform, Standard Edition Installation Guide describes how to install the Java
Development Kit (JDK) on Linux, Microsoft Windows, and macOS computers.
Audience
This document is intended for users who are installing any variant of the Java SE platform.
Documentation Accessibility
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility
Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.
Access to Oracle Support
Oracle customers that have purchased support have access to electronic support through My
Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info
or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.
Diversity and Inclusion
Oracle is fully committed to diversity and inclusion. Oracle respects and values having a
diverse workforce that increases thought leadership and innovation. As part of our initiative to
build a more inclusive culture that positively impacts our employees, customers, and
partners, we are working to remove insensitive terms from our products and documentation.
We are also mindful of the necessity to maintain compatibility with our customers' existing
technologies and the need to ensure continuity of service as Oracle's offerings and industry
standards evolve. Because of these technical constraints, our effort to remove insensitive
terms is ongoing and will take time and external cooperation.
Related Documents
See JDK 22 Documentation.
Conventions
The following text conventions are used in this document:
Convention
Meaning
boldface
Boldface type indicates graphical user interface elements associated with an
action, or terms defined in text or the glossary.
v
Convention Meaning
italic Italic type indicates book titles, emphasis, or placeholder variables for which
you supply particular values.
monospace
Monospace type indicates commands within a paragraph, URLs, code in
examples, text that appears on the screen, or text that you enter.
Preface
vi
1
Overview of JDK Installation
The type of installation depends on your requirement and the platform that you choose to
install.
Installation Requirements and Related Tasks
To develop or run Java applications, download and install JDK.
Version-String Format
To understand the version-string scheme that is used to distinguish various JDK releases,
see Version-String Format.
Installation
The JDK can be installed on the following platforms:
Microsoft Windows
Linux
macOS
You can download the JDK from Java SE Development Kit Downloads page.
For supported processors and browsers, see Oracle JDK Certified System Configurations.
The JDK documentation is a separate download. See Java SE Documentation.
Microsoft Windows
Installation of the JDK on Microsoft Windows Platforms: Instructions include steps to install
the JDK on 64-bit Microsoft Windows operating systems.
Linux
Installation of the JDK on Linux Platforms: Instructions include installation from Archive files,
Downloadable RPM Package Files, and RPM Packages from Oracle Linux Repositories.
macOS
Installation of the JDK on macOS: Instructions include steps to install the JDK on the macOS
platform.
Directory Structure
To learn about the files and directories that are created after JDK installation, see Installed
Directory Structure of JDK .
1-1
2
Version-String Format
Java SE platform has adopted time-based release model with the JDK being released every
six months.
As of JDK 10 and later, the format of the version string, which reflects the Java SE platform's
time-based release model, is
$FEATURE.$INTERIM.$UPDATE.$PATCH
.
$FEATURE
is the version number that is incremented for every feature release. The feature
release contains new features and changes to the existing features as specified by the
Java SE platform specification. The version number is incremented every six months. For
example, the version number for the March 2018 release is 10, the version number for
the September 2018 release is 11, and so on.
$INTERIM
is the version number that is incremented for every interim release, which
contains bug fixes and enhancements. An interim release does not contain incompatible
changes, feature removals, nor any changes to the standard APIs. The version number
for the interim release is always zero (0) as the six-month release model does not include
interim releases. However, this version number is reserved for future interim releases, if
any.
$UPDATE
is the version number that is incremented for an update release, which includes
fixes for security issues, regressions, and bugs in new features. The version number is
incremented one month after the
$FEATURE
release and every three months thereafter.
For example, the full version string for the October update release is 22.0.1, the full
version string for the January update release is 22.0.2, and so on.
$PATCH
is the version number that is incremented for an emergency patch release to fix a
critical issue.
The version string doesn't have trailing zero elements. For example, if the value of
$FEATURE
is 22, the value of
$INTERIM
is 0, the value of
$UPDATE
is 1, and the value of
$PATCH
is 0, then
the full version string is 22.0.1.
2-1
3
Installation of the JDK on Linux Platforms
This topic describes the installation procedures of the JDK on the Linux platform, along with
the system requirements.
This topic includes the following sections:
General Notes About Installing the JDK on Linux Platforms from Archive Files
General Notes About Installing the JDK on Linux Platforms from RPM packages
System Requirements for Installing JDK on Linux Platforms
Installing the JDK on Linux from Archive Files, Debian Packages, RPM Packages, and
Oracle Linux Repositories
General Notes About Installing the JDK on Linux Platforms from
Archive Files
This topic describes general information about installing JDK 22 on Linux platforms.
Installing the JDK automatically creates a directory called
jdk–
feature.interim.update.patch
where
feature (22),interim, update,
and
patch
represent corresponding values of version information.
Root Access
If you install JDK in a specific location such as
/opt
, you must log in with root credentials to
gain the necessary permissions. If you do not have the root access, either install the JDK in
your home directory or a sub directory for which you have the write permissions.
Overwriting Files
If you install the software in a directory that contains a sub directory named
jdk–
22.interim.update.patch
, the new software overwrites files of the same name in that
directory. Ensure that you rename the old directory if it contains files that you would like to
keep.
System Preferences
Installing the JDK from archive files doesn't configure the backing store for the system node
of Java Preferences API (
java.util.prefs
Java package). If this functionality of the JDK is
required, you need to manually configure it by making sure either
/etc/.java/.systemPrefs
or
jdk–22.interim.update.patch/.systemPrefs
directory exists.
General Notes About Installing the JDK on Linux Platforms from
RPM packages
This topic describes general information about installing JDK 22 from RPM packages on
Linux platforms.
3-1
You can install only one version of JDK of the same feature release. If you try to install
the newer version of the same feature release while the older version exists, the
installer uninstalls the older version and installs the new version. For example, you
can't install
jdk-22
and
jdk-22.0.1
simultaneously. If you attempt to install
jdk-22.0.1
after
jdk-22
is installed, the installer uninstalls
jdk-22
and installs
jdk-22.0.1
.
All versions of JDK of the same feature release are installed in
/usr/lib/jvm/jdk-22-
oracle-<ARCH>
directory, where
<ARCH>
equals
x64
or
aarch64
. Additionally
/usr/
java/jdk-22
symbolic link pointing to the installation directory is created for backward
compatibility.
Note:
If you install an older version of a JDK when the newer version of the same
feature family already exists, an error is displayed, prompting you to uninstall
a newer JDK version if an older version has to be installed.
Root Access
You must log in with root credentials to install or update JDK.
System Preferences
By default, the installation script configures the system such that the backing store for
the system node of Java Preferences API (java.util.prefs Java package) is configured
in
/etc/.java/.systemPrefs
directory.
System Integration
The JDK installation is integrated with the alternatives framework. After installation, the
alternatives framework is updated to reflect the binaries from the recently installed
JDK. Java commands such as
java
,
javac
,
javadoc
, and
javap
can be called from the
command line.
Using the
java -version
command, you can confirm the default (recently installed)
JDK version.
In addition, you can check which specific RPM package provides the
java
files:
$ rpm -q --whatprovides java
System Requirements for Installing JDK on Linux Platforms
See Oracle JDK Certified Systems Configurations for information about supported
platforms, operating systems, and browsers.
Chapter 3
System Requirements for Installing JDK on Linux Platforms
3-2
Installing the JDK on Linux from Archive Files, Debian
Packages, RPM Packages, and Oracle Linux Repositories
You can install the JDK on a Linux platform from archive files, debian packages,
downloadable Red Hat Package Manager (RPM) packages files, or RPM packages from
Oracle Linux (OL) repositories.
Installation can be performed by using one of the following processes:
From archive files (
.tar.gz
): This allows you to install a private version of the JDK for
the current user into any location, without affecting other JDK installations. However, it
may involve manual steps to get some of the features to work. See the following table for
the options available for downloading and installing the JDK from archive files. The
bundles are available for Linux x64 and Linux aarch64 (64-bit ARM) systems. Install the
required bundle.
From Debian packages (
.deb
): This allows you to perform a system-wide JDK
installation on Debian-based Linux platforms, and requires root access.
From downloadable RPM packages (
.rpm
): This allows you to perform a system-wide
JDK installation on RPM-based Linux platforms for all users, and requires root access.
See the following table for the options available for downloading and installing the JDK
from Linux x64 and Linux aarch64 (64-bit ARM) RPM packages.
From Oracle Linux repositories: This allows you to perform a system-wide JDK
installation on OL platforms starting from OL7 for all users, and requires root access. JDK
RPM packages in Oracle Linux RPM repositories are available for x64 and aarch64 (64-
bit ARM) OL platforms. Explicit download of JDK RPM packages is not required, the
package manager will do it automatically for you.
JDK RPM packages for Generic Linux platforms and Oracle Linux platforms differ. The
following table lists the differences:
Table 3-1 Difference between Generic Linux and OL platforms
Feature Downloadable JDK RPM
Package for Generic Linux
Platforms
JDK RPM package for Oracle
Linux platforms
Supported Linux Platforms Any RPM-based Linux platform.
For example, Red Hat, SuSE
OL platforms starting from OL7
Chapter 3
Installing the JDK on Linux from Archive Files, Debian Packages, RPM Packages, and Oracle Linux Repositories
3-3
Table 3-1 (Cont.) Difference between Generic Linux and OL platforms
Feature Downloadable JDK RPM
Package for Generic Linux
Platforms
JDK RPM package for Oracle
Linux platforms
Package name JDK image is packed in a single
package named
jdk-22
JDK image is split into two
packages:
jdk-22-headless
and
jdk-22-headful
.
jdk-22-headless
is a
headless Java Runtime for
running non-GUI
applications.
jdk-22-headful
is headful
Java Runtime and
Development Tools for
developing and running all
types of applications.
jdk-22-headful
package
requires
jdk-22-headless
package. When these packages
are installed together, they
provide the same functionality as
the
jdk-22
package for Generic
Linux Platforms.
Installation directory name
/usr/lib/jvm/jdk-22-
oracle-<ARCH>
/usr/lib/jvm/jdk-22-
oracle-<ARCH>
Available for download from Java
SE Downloads
Yes No. The packages are hosted in
Oracle Linux RPM repositories.
Integration with the alternatives
framework
jdk-22
package registers
java
and
javac
groups with the
alternatives framework.
jdk-22-headless
package
registers
java
group with the
alternatives framework.
jdk-22-headful
package
registers
javac
group with the
alternatives framework.
Will automatically install the
required 3rd party packages?
No. You need to manually install
the required packages.
Yes. All required packages will be
installed automatically.
Downloading the JDK Installer
Access Java SE Downloads page and click Accept License Agreement. Under the
Download menu, click the Download link corresponding your requirement.
The following table lists the options and instructions for downloading and installing the
JDK 22 release on a Linux platform:
Download File
Instructions Architecture (CPU Type) Who Can Install
For Linux x64 systems:
jdk-22.interim.update
.patch_linux-
x64.tar.gz
Installing the 64-Bit JDK on
Linux Platforms
Intel - 64-bit Anyone
Chapter 3
Installing the JDK on Linux from Archive Files, Debian Packages, RPM Packages, and Oracle Linux Repositories
3-4
Download File Instructions Architecture (CPU Type) Who Can Install
For Linux aarch64 (64-bit
ARM) systems:
jdk-22.interim.update
.patch_linux-
aarch64.tar.gz
Installing the 64-Bit JDK on
Linux Platforms
ARM - 64-bit Anyone
For Linux x64 systems:
jdk-22.interim.update
.patch_linux-x64.deb
Installing the 64-Bit JDK
Package on Debian-based
Linux Platforms
Intel - 64-bit RPM-based
Linux
Root
For Linux x64 systems:
jdk-22.interim.update
.patch_linux-x64.rpm
Installing the 64-Bit JDK on
RPM-Based Linux
Platforms
Intel - 64-bit RPM-based
Linux
Root
For Linux aarch64 (64-bit
ARM) systems:
jdk-22.interim.update
.patch_linux-
aarch64.rpm
Installing the 64-Bit JDK on
RPM-Based Linux
Platforms
ARM - 64-bit RPM-based
Linux
Root
Installing the 64-Bit JDK on Linux Platforms
You can install the JDK for 64-bit Linux from an archive file (
.tar.gz
). The
.tar.gz
archive
file (also called a tarball) is a file that can be uncompressed and extracted in a single step.
To install the 64-bit JDK on a Linux platform:
1. Download the required file:
For Linux x64 systems:
jdk-22.interim.update.patch_linux-x64_bin.tar.gz
. For
example
jdk-22_linux-x64_bin.tar.gz
For Linux aarch64 (64-bit ARM) systems:
jdk-22.interim.update.patch_linux-
aarch64_bin.tar.gz
. For example,
jdk-22_linux-aarch64_bin.tar.gz
Before you download a file, you must accept the license agreement. Anyone (not only
root users) can install the archive file in any location having write access.
2. Change the directory to the location where you want to install the JDK, then move
the
.tar.gz
archive file to the current directory.
3. Unpack the tarball and install the downloaded JDK:
$ tar zxvf jdk-22_linux-x64_bin.tar.gz
OR
$ tar zxvf jdk-22_linux-aarch64_bin.tar.gz
The Java Development Kit files are installed in a directory named
jdk-22.interim.update.patch
.
4. Delete the
.tar.gz
file if you want to save disk space.
Installing the 64-Bit JDK Package on Debian-based Linux Platforms
You can install the JDK Debian package for 64-bit Linux from the (
.deb
) file.
To install the 64-bit JDK Debian package on a Linux platform:
Chapter 3
Installing the JDK on Linux from Archive Files, Debian Packages, RPM Packages, and Oracle Linux Repositories
3-5
1. Download the required file:
jdk-22.interim.update.patch_linux-x64_bin.deb
. For example
jdk-22_linux-
x64_bin.deb
Before you download a file, you must accept the license agreement. Anyone (not
only root users) can install the archive file in any location having write access.
2. Install the package using the following command:
$ sudo dpkg -i jdk-22_linux-x64_bin.deb
The Java Development Kit files are installed into
/usr/lib/jvm/jdk-<FEATURE>-
oracle-<ARCH>
directory. For example, JDK 22 releases for x64 will be installed
in
/usr/lib/jvm/jdk-22-oracle-x64
directory.
3. Delete the
.deb
file if you want to save disk space.
Installing the 64-Bit JDK on RPM-Based Linux Platforms
You can install the JDK on 64-bit RPM-based Linux platforms, such as Red Hat and
SuSE by using a downloadable RPM package file (
.rpm
) in the system location.
Note:
You can install the JDK using a downloadable RPM package file on an OL
system too, but the preferred way to install the JDK on OL systems is from
Oracle Linux RPM repositories.
Ensure that you have the root user access. You can do this by running the command
su
and entering the superuser password.
To install the 64-bit JDK on an RPM-based Linux platform:
1. Download the required file:
For x64 systems:
jdk-22.interim.update.patch_linux-x64_bin.rpm
. For
example,
jdk-22_linux-x64_bin.rpm
For aarch64 (64-bit ARM) systems:
jdk-22.interim.update.patch_linux-
aarch64_bin.rpm
. For example,
jdk-22_linux-aarch64_bin.rpm
Before you download a file, you must accept the license agreement.
2. Install the required package using the following command:
$ sudo rpm -ivh jdk-22_linux-x64_bin.rpm
OR
$ sudo rpm -ivh jdk-22_linux-aarch64_bin.rpm
Upgrade the required package using the following command:
$ sudo rpm -Uvh jdk-22_linux-x64_bin.rpm
OR
$ sudo rpm -Uvh jdk-22_linux-aarch64_bin.rpm
Chapter 3
Installing the JDK on Linux from Archive Files, Debian Packages, RPM Packages, and Oracle Linux Repositories
3-6
Note:
JDK 22 can coexist with other feature releases of JDK. For each feature
release, a separate directory is created, the default directory
being
/usr/lib/jvm/jdk-<FEATURE>-oracle-<ARCH>
. For example, JDK 22
releases for x64 will be installed in
/usr/lib/jvm/jdk-22-oracle-x64
directory.
3. Delete the
.rpm
file if you want to save disk space.
It is not required to reboot.
Installing the 64-Bit JDK on Oracle Linux Platforms
There are two OL-specific JDK RPM packages,
jdk-22-headless
and
jdk-22-headful
.
When these packages are installed together, they provide full JDK functionality.
Install
jdk-22-headless
package if you only need headless Java Runtime for running non-
GUI applications.
Install
jdk-22-headful
package if you need full JDK functionality for running any Java
application and development.
Note:
The
jdk-22-headful
package depends on
jdk-22-headless
, hence installing
jdk-22-headful
package will result in the automatic installation of
jdk-22-
headless
, if it is not installed yet.
To install the 64-bit JDK headless on an Oracle Linux platform use either
dnf
or
yum
command:
sudo dnf install jdk-22-headless
OR
sudo yum install jdk-22-headless
To install the 64-bit JDK headful on an Oracle Linux platform use the following command:
sudo dnf install jdk-22-headful
OR
sudo yum install jdk-22-headful
Chapter 3
Installing the JDK on Linux from Archive Files, Debian Packages, RPM Packages, and Oracle Linux Repositories
3-7
4
Installation of the JDK on macOS
The JDK supports both Intel-based (x64) and Apple Silicon (AArch64) Mac computers.
This topic includes the following sections:
System Requirements for Installing the JDK on macOS
JDK Installation Instruction Notation for macOS
Determining the Default JDK Version on macOS
Installing the JDK on macOS
Uninstalling the JDK on macOS
Installation FAQ for macOS
System Requirements for Installing the JDK on macOS
For supported processors and browsers, see Oracle JDK Certified Systems Configurations.
JDK Installation Instruction Notation for macOS
JDK installers now support only one version of any Java feature release. You can't install
multiple versions of the same feature release.
For example, you can't install
jdk-22
and
jdk-22.0.1
simultaneously. If you attempt to install
jdk-22.0.1
after
jdk-22
is installed, the installer uninstalls
jdk-22
and installs
jdk-22.0.1
.
Note:
If you install an older version of a JDK when the newer version of the same feature
family already exists, an error is displayed, prompting you to uninstall a newer JDK
version if an older version has to be installed.
JDK is installed in
/Library/Java/JavaVirtualMachines/jdk-<FEATURE>.jdk
where
<FEATURE>
is the feature release number. For example, JDK 22.0.1 is installed in
/Library/
Java/JavaVirtualMachines/jdk-22.jdk
.
macOS x64 systems:
jdk-<FEATURE>_macos-x64_bin.dmg
OR
jdk-<FEATURE>_macos-x64_bin.tar.gz
4-1
This string becomes:
jdk-22_macos-x64_bin.dmg
OR
jdk-22_macos-x64_bin.tar.gz
macOS aarch64 (64-bit ARM) systems:
jdk-<FEATURE>_macos-aarch64_bin.dmg
OR
jdk-<FEATURE>_macos-aarch64_bin.tar.gz
This string becomes:
jdk-22_macos-aarch64_bin.dmg
OR
jdk-22_macos-aarch64_bin.tar.gz
Determining the Default JDK Version on macOS
When starting a Java application through the command line, the system uses the
default JDK.
There can be multiple JDKs installed on the macOS system.
You can determine which version of the JDK is the default by entering
java -version
in a Terminal window. If the installed version is 22 Interim 0, Update 0, and Patch 0,
then you see a string that includes the text
22
. For example:
$ java -version
java version "22"
Java(TM) SE Runtime Environment (build 22)
Java HotSpot(TM) 64-Bit Server VM (build 23.2-b04, mixed mode)
To run a different version of Java, either specify the full path, or use the
java_home
tool. For example:
$ /usr/libexec/java_home -v 22 --exec javac -version
Installing the JDK on macOS
To install the JDK on macOS:
1. Download the required JDK
.dmg
or file from
.tar.gz
page:
macOS x64 systems:
jdk-<FEATURE>_macos-x64_bin.dmg
OR
jdk-
<FEATURE>_macos-x64_bin.tar.gz
Chapter 4
Determining the Default JDK Version on macOS
4-2
macOS aarch64 (64-bit ARM) systems:
jdk-<FEATURE>_macos-aarch64_bin.dmg
OR
jdk-<FEATURE>_macos-aarch64_bin.tar.gz
Click Accept License Agreement.
2. From either the browser Downloads window or from the file browser, double-click
the
.dmg
file to start it.
A Finder window appears that contains an icon of an open box and the name of the
.pkg
file.
3. Double-click the
JDK 22.pkg
icon to start the installation application.
The installation application displays the Introduction window.
4. Click Continue.
The Installation Type window appears.
5. Click Install.
A window appears that displays the message: Installer is trying to install
new software. Enter your password to allow this.
6. Enter the Administrator user name and password and click Install Software.
The software is installed and a confirmation window is displayed.
After the software is installed, you can delete the
.dmg
or
.tar.gz
file if you want to save disk
space.
Uninstalling the JDK on macOS
To uninstall the JDK on macOS:
You must have Administrator privileges.
Note:
Do not attempt to uninstall Java by removing the Java tools from
/usr/bin
. This
directory is part of the system software and any changes will be reset by Apple the
next time that you perform an update of the OS.
1. Go to /Library/Java/JavaVirtualMachines.
2. Remove the directory whose name matches the following format by executing the
rm
command as a root user or by using the
sudo
tool:
/Library/Java/JavaVirtualMachines/jdk-22.interim.update.patch.jdk
For example, to uninstall 22 Interim 0 Update 0 Patch 0:
$ rm -rf jdk-22.jdk
Installation FAQ for macOS
This topic provides answers for the following frequently asked questions about installing JDK
on macOS computers.
Chapter 4
Uninstalling the JDK on macOS
4-3
1. How do I find out which version of Java is the system default?
When you run a Java application from the command line, it uses the default JDK. If
you do not develop Java applications, then you do not need to worry about this. See
Determining the Default JDK Version on macOS.
2. How do I uninstall Java?
See Uninstalling the JDK on macOS.
3. After installing Java for macOS 2012-006, can I continue to use Apple's Java 6
alongside the macOS JDK for Java 22?
If you want to continue to develop with Java 6 using command-line, then you can
modify the startup script for your favorite command environment. For bash, use this:
$ export JAVA_HOME=`/usr/libexec/java_home -v 22`
Some applications use
/usr/bin/java
to call Java. After installing Java for macOS
2012-006,
/usr/bin/java
will find the newest JDK installed, and will use that for all of
the Java-related command-line tools in
/usr/bin
. You may need to modify those
applications to find Java 6, or contact the developer for a newer version of the
application.
4. What happened to the Java Preferences app in Application Utilities?
The Java Preferences app was part of the Apple Java installation and is not used by
Oracle Java. Therefore, macOS releases from Apple that do not include Apple Java
will not include Java Preferences.
Chapter 4
Installation FAQ for macOS
4-4
5
Installation of the JDK on Microsoft Windows
Platforms
This topic includes the following sections:
System Requirements for Installing the JDK on 64-Bit Windows Platform
JDK Installation Instruction Notation for Windows
JDK Installation Instructions for Windows
Beginning to Use the JDK
Uninstalling the JDK on Windows
System Error During Decompression
System Requirements for Installing the JDK on 64-Bit Windows
Platform
For supported processors and browsers, see Oracle JDK Certified Systems Configurations.
JDK Installation Instruction Notation for Windows
JDK installers now support only one version of any Java feature release. You can't install
multiple versions of the same feature release.
For example, you can't install
jdk-22
and
jdk-22.0.1
simultaneously. If you attempt to install
jdk-22.0.1
after
jdk-22
is installed, the installer uninstalls
jdk-22
and installs
jdk-22.0.1
.
Note:
If you install an older version of a JDK when the newer version of the same feature
family already exists, an error is displayed, prompting you to uninstall a newer JDK
version if an older version has to be installed.
JDK is installed in
/Program Files/Java/jdk-<FEATURE>
where
<FEATURE>
is the feature
release number. For example, JDK 22.0.1 is installed in
/Program Files/Java/jdk-22
.
JDK Installation Instructions for Windows
You run a self-installing executable file to unpack and install the JDK on Windows computers.
Install JDK on Windows computers by performing the actions described in the following
topics:
5-1
Downloading the JDK Installer
Installing the JDK from the JDK .exe Installer
Installing the JDK from the MSI Enterprise Installer
Installing the JDK Silently
Downloading the JDK Installer
Access the Java SE Downloads page and click Accept License Agreement. Under
the Download menu, click the Download link that corresponds to the
.exe
for your
version of Windows.
Download the file
jdk-22.interim.update.patch_windows-x64_bin.exe
.
Note:
Verify the successful completion of file download by comparing the file size
on the download page and your local drive. Alternatively, you can ensure that
the downloaded file's checksum matches the one provided on the Java SE
Downloads page.
Installing the JDK from the JDK .exe Installer
You must have administrator privileges to install the JDK on Microsoft Windows.
To run the JDK installer:
1. Start the JDK 22 installer by double-clicking the installer's icon or file name in the
download location.
2. Follow the instructions provided by the installer.
3. After the installation is complete, delete the downloaded file to recover disk space.
Note:
During installation, the following files are copied to your computer:
"C:\Program Files\Common Files\Oracle\Java\javapath\java.exe"
"C:\Program Files\Common Files\Oracle\Java\javapath\javaw.exe"
"C:\Program Files\Common Files\Oracle\Java\javapath\javac.exe"
"C:\Program Files\Common Files\Oracle\Java\javapath\jshell.exe"
Alternatively, you can run these executables directly from the JDK's
bin
directory.
Chapter 5
JDK Installation Instructions for Windows
5-2
Installing the JDK from the MSI Enterprise Installer
The JDK MSI Enterprise Installer is packaged as an
.msi
installer and runs with minimal
dialogs. It supports silent installation of the JDK and is customizable using command line
parameters.
You must have administrative permissions install JDK 22.
1. Download
jdk-22_windows-x64_bin.msi
from the Java SE Downloads page.
2. Double click the
.msi
file to run the installer.
Installing the JDK from the Command Line
You can install the JDK by downloading the appropriate Oracle JDK MSI Enterprise Installer
for your system and running it from the command line.
1. Download
jdk-22_windows-x64_bin.msi
.
2. Open an MS-DOS prompt with Administrative permissions.
3. Run one of the following commands depending on the type of installation that you want to
perform:
Basic UI mode:
msiexec.exe /i jdk-22_windows-x64_bin.msi
Silent mode:
msiexec.exe jdk-22_windows-x64_bin.msi /qn
Creating a Log File
You can use a log file to verify that an installation succeeded.
To create a log file describing the installation, append
/L C:\path\setup.log
to the install
command and scroll to the end of the log file to verify.
The following is an example of creating a log file:
msiexec.exe /i installer.msi /L C:\path\setup.log
In this example, the log is written to the C:\path\setup.log file.
Installing the JDK Silently
Instead of double-clicking or opening the JDK installer, you can perform a silent, non-
interactive, JDK installation by using command-line arguments.
Install JDK in silent mode using the command:
jdk.exe /s
Chapter 5
JDK Installation Instructions for Windows
5-3
Note:
The notation jdk stands for the downloaded installer file base name, such
as
jdk-22_windows-x64_bin.exe
.
You don't need to run the
ADDLOCAL
command as everything is installed
by default.
Beginning to Use the JDK
Select Java Development Kit in the Windows Start menu to access information
related to Reference Documentation.
During JDK installation and uninstallation processes, Start menu items are updated so
that they are associated with the latest JDK version on the system.
Note:
Windows 10 has a Start menu; however, the menu is not available in
Windows 8 and Windows 8.1. The JDK and Java information in Windows 8
and Windows 8.1 is available in the following Start directory:
%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs.
Uninstalling the JDK on Windows
To uninstall JDK 22, use the Add/Remove Programs utility in the Microsoft Windows
Control Panel.
Uninstalling the JDK in Silent Mode
You can use the command line for uninstalling the JDK.
Use the following command to uninstall the JDK in silent mode:
MsiExec.exe/X{<UninstallString>}
For example, to uninstall JDK 18, run the command:
MsiExec.exe /X{B1405ADC-C0CA-5E63-B1E0-51F5A9A2627C}
To find <UninstallString>, see Finding the JDK Registry Key and UninstallString Value.
Chapter 5
Beginning to Use the JDK
5-4
Note:
This command can be run from anywhere.
The
msiexec.exe
executable is located in the windows system directory.
A reboot is required only if some files are in use during uninstallation; it is not
necessary everytime. However, to manually suppress reboot while uninstalling,
append
REBOOT=R
option to the command.
Append
/l "C:\<path>setup.log"
option to the command if you want to create
a log file describing the uninstallation status.
The Windows Installer dialog appears prompting you for confirmation. Click Yes to uninstall
JDK.
Finding the JDK Registry Key and UninstallString Value
1. Go to the Start and type
regedit
.
2. In the Registry Editor, go to HKEY_LOCAL_MACHINE/Software/Microsoft/
Windows/CurrentVersion/Uninstall.
Under the
Uninstall
folder, you will find many registry entries within curly brackets.
3. Click Edit and then Find.
Note:
Highlight the
Uninstall
folder before performing search for a particular registry.
4. Enter version string as value to find corresponding registry key. For example, enter
jdk-22
.
The registry key is highlighted on the right-hand side of the pane and values of various
uninstall strings are displayed on the left-hand pane.
5. Note the value of the UninstallString.
JDK Installation Troubleshooting
The topic provide tips for resolving issues while installing JDK.
System Error During Decompression
Program Cannot Be Run in DOS Mode
Characters That Are Not Part of the System Code Page
Cleanup the Registry After a Failed JDK Uninstall
Fixing Shim Situation when JDK 22 and JRE 8 are Installed
Chapter 5
JDK Installation Troubleshooting
5-5
System Error During Decompression
If you see the error message:
system error during decompression
, then there might
not be enough space on the disk that contains the
TEMP
directory.
Program Cannot Be Run in DOS Mode
If you see the error message:
This program cannot be run in DOS mode
, then do
the following:
1. Open the MS-DOS shell or command prompt window.
2. Right-click the title bar.
3. Select Properties.
4. Select the Program tab.
5. Click Advanced.
6. Ensure that the item Prevent MS-DOS-based programs from detecting
Windows is not selected.
7. Select OK.
8. Select OK again.
9. Exit the MS-DOS shell.
10. Restart your computer.
Characters That Are Not Part of the System Code Page
A 1722 error may occur if the installation directory is not part of the system locale's
code page. To prevent this, ensure that the user and system locales are identical, and
that the installation path contains only characters that are part of the system locale's
code page. User and system locales can be set in the Regional Options or Regional
Settings control panel.
The associated bug number is 4895647.
Cleanup the Registry After a Failed JDK Uninstall
Sometimes, attempts to uninstall JDK through the Windows Add/Remove program
leave behind some Java entries in the registry that are not fully removed. These left
behind registry entries can cause problems in installing a new version of Java. The
following are the methods to cleanup registry entries:
Program Install and Uninstall troubleshooter (Recommended Method)
Manual Registry Edit
Program Install and Uninstall troubleshooter (Recommended Method)
Run the Program Install and Uninstall troubleshooter to repair the corrupted registry
keys that prevent programs from being completely uninstalled, or blocks new
installations and updates.
Manually edit the registry (Use this only if the Fix It utility does not work)
Chapter 5
JDK Installation Troubleshooting
5-6
Incorrectly editing your registry may severely damage your system. You should back up any
valued data from your computer before making changes to the registry.
To save the registry key before deleting, in the menu bar, select File and then Export. In
case you deleted the wrong registry key, you can restore the registry from your saved backup
file by selecting from the menu bar File and then Import .
To delete the registry key:
1. Determine the correct Registry Key. See Finding the JDK Registry Key and
UninstallString Value.
2. Highlight the key, Right click and select Delete.
3. Click Yes when prompted.
The JDK gets uninstalled.
Fixing Shim Situation when JDK 22 and JRE 8 are Installed
When you install JDK 22 and then install JRE 8, and then run the
java -version
command,
1.8.0
is displayed in the output instead of
22
. This is because the
javapath
is placed before
JDK 22 location in the user environment path.
This is a bug with the JRE 8 installer. To fix this shim situation, uninstall and reinstall JDK 22.
Chapter 5
JDK Installation Troubleshooting
5-7
6
Installed Directory Structure of JDK
The modular runtime image of JDK 22 contains the following folders:
Note:
In macOS, the JDK installation path is
/Library/Java/JavaVirtualMachines/jdk-
interim.update.patch.jdk/Contents/Home
.
/jdk-interim.update.patch.jdk
The root directory of the JDK software installation. This directory also contains Copyright,
README, and Release files.
/jdk-interim.update.patch.jdk/Contents/Home/
The root directory of the JDK software installation on macOS.
/jdk-interim.update.patch.jdk/bin
The executable and command-line launchers that are defined by the modules linked to the
image.
/jdk-interim.update.patch.jdk/conf
The
.properties
,
.policy
, and other configuration files intended to be edited by developers,
deployers, and end users.
/jdk-interim.update.patch.jdk/lib
The private implementation details of the runtime system. These files are not intended for
external use and must not be modified.
The lib directory on macOS or the
lib/$ARCH
directory on Linux contains the runtime
system's dynamically linked native libraries.
/jdk-interim.update.patch.jdk/jmods
The compiled module definitions.
/jdk-interim.update.patch.jdk/legal
The copyright and license files for each module.
/jdk-interim.update.patch.jdk/lib/src.zip
The archive that contains the source code for the Java platform.
/jdk-interim.update.patch.jdk/include
The C-language header files that support native-code programming with the Java Native
Interface and the Java Virtual Machine (JVM) Debugger Interface.
6-1
Note:
Installing a JDK update release will replace the existing version of the same
feature release. For example, when you install JDK 22.0.1 after installing
JDK 22, the installer uninstalls JDK 22 and installs JDK 22.0.1. However, you
can install JDK 22 and JDK 11 simultaneously. In the JDK installation
location,
jdk-22
and
jdk-11
directories get created.
Chapter 6
6-2