installation-guide
installation-guide
Release 11
E95199-11
October 2024
Java Platform, Standard Edition JDK Installation Guide, Release 11
E95199-11
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.
Contents
Preface
Audience v
Documentation Accessibility v
Related Documents v
Conventions v
2 Version-String Format
iii
5 Installation of the JDK on macOS
System Requirements for Installing the JDK on macOS 5-1
Determining the Default JDK Version on macOS 5-1
Installing the JDK on macOS 5-1
Uninstalling the JDK on macOS 5-2
Installation FAQ on macOS Platform 5-3
iv
Preface
Java Platform, Standard Edition Installation Guide describes how to install the Java
Development Kit (JDK) on Oracle Solaris, 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.
Related Documents
See JDK 11 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.
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.
v
1
Overview of JDK Installation
The type of installation depends on your requirement and the platform that you choose to
install.
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:
• Oracle Solaris
• Microsoft Windows
• Linux
• macOS
You can download 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.
Oracle Solaris
Installation of JDK on Oracle Solaris: Instructions include installation from Image Packaging
System (IPS) and Archive binaries.
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
binaries and Red Hat Package Manager (RPM).
macOS
The installation of the JDK 11 requires macOS 10.11 or later.
Installation of the JDK on macOS: Instructions include steps to install the JDK on the macOS
platform.
1-1
Chapter 1
Directory Structure
To learn about the files and directories that are created after JDK installation, see Installed
Directory Structure of JDK .
1-2
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 11.0.1, the full version
string for the January update release is 11.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
11, 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 11.0.1.
2-1
3
Installation of JDK on Oracle Solaris
3-1
Chapter 3
Installing JDK on Oracle Solaris 11 from IPS Packages
Note:
See Installing JDK on Oracle Solaris 11 from IPS Packages for the recommended
approach.
• Name: the name of the package. If the publisher from which the package is installed
(or available) is not the first in the publisher search order, then the publisher name is
listed in parentheses after the package name.
• Version: the release and branch versions of the package.
• IFO:
3-2
Chapter 3
Specifying the Default Java Platform
Other rights profiles also provide installation privileges, such as the System
Administrator rights profile.
• Depending on the security policy at your site, you might be able to use the sudo
command with your user password to execute a privileged command:
• Use the roles command to list the roles that are assigned to you. If you have the root
role, you can use the su command with the root password to assume the root role:
Note:
The JDK 11 installation from the SVR4 package (through the pkgadd
command) is not supported. Install JDK 11 using the IPS package.
3-3
Chapter 3
Specifying the Default Java Platform
3-4
4
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
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–
11.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–11.interim.update.patch/.systemPrefs directory exists.
4-1
Chapter 4
System Requirements for Installing JDK on Linux Platforms
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-11 and
jdk-11.0.1 simultaneously. If you attempt to install jdk-11.0.1 after jdk-11 is installed, the
installer uninstalls jdk-11 and installs jdk-11.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.
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:
4-2
Chapter 4
Installing the JDK on Linux from Archive Files, Debian Packages, RPM Packages, and Oracle Linux Repositories
4-3
Chapter 4
Installing the JDK on Linux from Archive Files, Debian Packages, RPM Packages, and Oracle Linux Repositories
4-4
Chapter 4
Installing the JDK on Linux from Archive Files, Debian Packages, RPM Packages, and Oracle Linux Repositories
4-5
Chapter 4
Installing the JDK on Linux from Archive Files, Debian Packages, RPM Packages, and Oracle Linux Repositories
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-11.interim.update.patch_linux-x64_bin.rpm. For example,
jdk-11_linux-x64_bin.rpm
• For aarch64 (64-bit ARM) systems: jdk-11.interim.update.patch_linux-
aarch64_bin.rpm. For example, jdk-11_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-11_linux-x64_bin.rpm
OR
$ sudo rpm -ivh jdk-11_linux-aarch64_bin.rpm
Upgrade the required package using the following command:
$ sudo rpm -Uvh jdk-11_linux-x64_bin.rpm
OR
$ sudo rpm -Uvh jdk-11_linux-aarch64_bin.rpm
Note:
JDK 11 can coexist with other feature releases of JDK. For each version release,
a separate directory is created, the default directory being /usr/lib/jvm/jdk-
<VERSION>-oracle-<ARCH>. For example, JDK 11 releases for x64 will be
installed in /usr/lib/jvm/jdk-11-oracle-x64 directory.
4-6
Chapter 4
Installing the JDK on Linux from Archive Files, Debian Packages, RPM Packages, and Oracle Linux Repositories
Installation Steps
1. Download the key file from https://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 using the
following command:
wget
https://yum.oracle.com/RPM-GPG-KEY-oracle-ol7
Note:
Public key installation needs to be done only once. The key installation is persistent
across reboots.
Note:
The jdk-11-headful package depends on jdk-11-headless, hence installing
jdk-11-headful package will result in the automatic installation of jdk-11-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-11-headless
4-7
Chapter 4
Installing the JDK on Linux from Archive Files, Debian Packages, RPM Packages, and Oracle Linux Repositories
OR
sudo yum install jdk-11-headless
To install the 64-bit JDK headful on an Oracle Linux platform use the following command:
sudo dnf install jdk-11-headful
OR
sudo yum install jdk-11-headful
4-8
5
Installation of the JDK on macOS
This topic includes the following sections:
• System Requirements for Installing the JDK on macOS
• Determining the Default JDK Version on macOS
• Installing the JDK on macOS
• Uninstalling the JDK on macOS
• Installation FAQ on macOS Platform
$ java -version
java version "11"
Java(TM) SE Runtime Environment (build 11)
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 11 --exec javac -version
5-1
Chapter 5
Uninstalling the JDK on macOS
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-11.interim.update.patch.jdk
For example, to uninstall 11 Interim 0 Update 0 Patch 0:
$ rm -rf jdk-11.jdk
5-2
Chapter 5
Installation FAQ on macOS Platform
3. After installing Java for macOS 2012-006, can I continue to use Apple's Java 6
alongside the macOS JDK for Java 11?
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 11`
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.
5-3
6
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
• JDK Installation Troubleshooting
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.
6-1
Chapter 6
JDK Installation Instructions for Windows
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.
Note:
During installation, the following files are copied to the location mentioned:
Alternatively, you can run these executables directly from the JDK's bin directory.
jdk.exe /s
6-2
Chapter 6
Beginning to Use the JDK
Note:
The notation jdk stands for the downloaded installer file base name, such as
jdk-11_windows-x64_bin.exe.
Note:
The Windows 7 and Windows 10 have 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.
MsiExec.exe/X{<UninstallString>}
MsiExec.exe/X{E973EEA1-3C61-5347-8DF7-30494D4EC697}
To find the UninstallString, see Finding the JDK Registry Key and UninstallString Value .
Note:
6-3
Chapter 6
JDK Installation Troubleshooting
• 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.
Windows Installer dialog appears prompting you for confirmation. Click Yes to uninstall JDK.
Note:
Highlight Uninstall folder before performing search for a particular registry.
4. Enter version string as value to find corresponding registry key. For example, enter jdk-11.
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.
6-4
Chapter 6
JDK Installation Troubleshooting
6-5
7
Installation of the JDK with a Configuration File
on Microsoft Windows Platform
You can use a configuration file to standardize JDK installations and specify options that are
not available on the command line.
This topic describes the configuration file that supplements JDK command-line installation
options. An installer configuration file is an alternative to, and extension of, options specified on
the installer command line.
This topic includes the following sections:
• Using a Configuration File
• Configuration File Options
• Sample Configuration File
Note:
Substitute the value of Enable to 1 and the value Disable to 0.
7-1
Chapter 7
Sample Configuration File
INSTALL_SILENT=Enable
INSTALLDIR=C:\java\jdk
7-2
8
Installed Directory Structure of JDK
The modular runtime image of JDK 11 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 and Solaris 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.
8-1
Chapter 8
Note:
You can install two versions of JDK simultaneously. Update version of JDK does not
replace the previous version, however, a new directory is created. For example, you
can install JDK 11 and JDK 11.0.1 simultaneously. In the JDK installation location,
jdk-11 and jdk-11.0.1 directories get created.
8-2