---
title: Installing Java
description: PingFederate requires a Java Runtime Environment (JRE) to be installed on your server.
component: pingfederate
version: 13.1
page_id: pingfederate:installing_and_uninstalling_pingfederate:pf_install_java
canonical_url: https://docs.pingidentity.com/pingfederate/13.1/installing_and_uninstalling_pingfederate/pf_install_java.html
llms_txt: https://docs.pingidentity.com/pingfederate/llms.txt
docs_for_agents: https://developer.pingidentity.com/build-with-ai/docs-for-agents.md
revdate: September 10, 2025
section_ids:
  about-this-task: About this task
  steps: Steps
  example: Example:
---

# Installing Java

PingFederate requires a Java Runtime Environment (JRE) *(tooltip: \<div class="paragraph">
\<p>A software layer that provides the class libraries and resources needed for a Java program to run.\</p>
\</div>)* to be installed on your server.

## About this task

PingFederate has been tested in the following Java environments:

* Amazon Corretto 17, 21, and 25

* OpenJDK 17, 21, and 25

* Oracle Java SE Development Kit 17 LTS, 21 LTS, and 25 LTS

|   |                                                                                                                                                                                                  |
| - | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|   | Ping Identity Java Support Policy applies. Learn more in [Java Support Policy](https://support.pingidentity.com/s/article/PingIdentity-Java-Support-Policy) in the Ping Identity Knowledge Base. |

## Steps

1. Download and install a Java runtime.

2. Set the *JAVA\_HOME* environment variable to the Java installation directory path and add its `bin` directory to the *PATH* environment variable.

   ### Example:

   ```
   JAVA_HOME=C:\Program Files\Java\jdk-17
   PATH=%JAVA_HOME%\bin
   ```

   |   |                                                                                                                                                                                                                                                                                                                                                                      |
   | - | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
   |   | If you intend to use the PingFederate installer for Windows or run PingFederate as a service, you must set the *JAVA\_HOME* environment variable and modify the *PATH* environment variable at the system level. If you are not using the PingFederate installer or running PingFederate as a service, you can set the variables at either the system or user level. |

   |   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   | - | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
   |   | When running PingFederate on Windows, switching the Java version from 11 to 17, 21, or 25 prevents the service from running, and you won't be able to start PingFederate. The problem occurs because garbage collection logging configuration arguments that are used by Java 17, 21, and 25 are incompatible with those used by Java 11.To change Java versions:1) Run `<pf_install>\pingfederate\sbin\win-x86-64\uninstall-service.bat` to de-register the PingFederate service.

   2) Install the new Java version and update the *JAVA\_HOME* and *PATH* environment variables.

   3) Run `<pf_install>\pingfederate\sbin\win-x86-64\install-service.bat` to register the PingFederate service. |
