[KB7088] Configure Apache Tomcat for ESET PROTECT On-Prem Web Console using a supported JDK (Windows)

Issue

Details


Click to expand

The ESET PROTECT On-Prem Web Console runs on Apache Tomcat, a web server and servlet container for Java applications. Apache Tomcat does not include a Java runtime; it relies on the Java runtime provided by a Java Development Kit (JDK). Historically, Oracle JDK 8 (Java SE 8) was the most widely used version for Apache Tomcat, so many deployments depended on it.

Starting January 2019, Oracle changed its licensing for Java SE 8. Public updates for business, commercial, or production use now require a paid subscription.

If you use Oracle JDK 8 (Java SE 8) and do not have an Oracle subscription, you can switch to a free, supported alternative (such as Amazon Corretto).

This article covers Windows installations. For Linux, see the related guides on installing a JDK for SUSE Linux Enterprise Server or Debian.


Solution

Supported JDK and Apache Tomcat versions for the ESET PROTECT On-Prem Web Console

To run the ESET PROTECT On-Prem Web Console, you need a Java runtime provided by a Java Development Kit (JDK) and a compatible Apache Tomcat version.

We recommend installing:

  • Apache Tomcat 9.x. (latest stable release)
  • JDK 17 or 21 (LTS)
    For more information on the JDK versions, see the Supported JDK versions section below.
Compatibility recommendations
  • Remove earlier JDK versions: if multiple JDK versions are installed, uninstall earlier versions and keep only the latest supported JDK.
  • Match bitness: ensure that the JDK, Apache Tomcat, and ESET PROTECT On-Prem all use the same architecture (64-bit recommended).
Supported JDK versions
Supported releases

Only long-term support (LTS) JDK releases are supported.

Supported JDK version ESET PROTECT On-Prem version
17
10.x – 13.x
21
11.x – 13.x

Alternatives to Oracle JDK (no-cost distributions):

  • Amazon Corretto 17 or 21 (LTS)

    For installation instructions, see the Install the Amazon Corretto JDK section.

  • OpenJDK-based distributions—for example, Eclipse Temurin 17 or 21 (LTS)

    When installing an OpenJDK distribution on Windows using an .msi installer, select the option to set or override the JAVA_HOME environment variable in the Setup Wizard (usually under Custom setup). This ensures the Java installation path is registered in Windows, allowing Apache Tomcat to locate the JDK.

Troubleshooting the “Failed to load data” error

If you encounter the "Failed to load data" error when using JDK 17 or later, see the Fix the “Failed to load data” error with JDK 17 or later section for guidance.


Switch JDK distribution used by Apache Tomcat for the ESET PROTECT On-Prem Web Console

  1. Navigate to the Apache Tomcat folder (for example, C:\Program Files\Apache Software Foundation\Tomcat 9.0). Open the bin folder and locate tomcat9w.exe. Double-click the file to run it. Apache Tomcat Properties will open.

  2. Click the General tab and click Stop to stop the Apache Tomcat service.

  3. Uninstall your current JDK.

  4. Install a new JDK.

  5. Go back to Apache Tomcat Properties and click the Java tab.

  6. In the Java Virtual Machine field, update the path to point to the jvm.dll file of the newly-installed JDK (for example, for Amazon Corretto, C:\Program Files\Amazon Corretto\jdk21.0.9_10\bin\server\jvm.dll).

  7. Click the General tab and click Start to start the Apache Tomcat service.

  8. Verify that you can log in to your ESET PROTECT On-Prem Web Console.


Install the Amazon Corretto JDK

  1. Download the Windows .msi installation file for Amazon Corretto 17 or Amazon Corretto 21.

  2. Double-click the installation file to start the installation.

  3. Proceed through the installation steps.

    You have the option to set a custom installation path. By default, Amazon Corretto 17 is installed at C:\Program Files\Amazon Corretto\. If you set a custom path, make note of the path for the next step.

  4. When the installation is completed, set the JAVA_HOME and PATH environment variables.

    • Set JAVA_HOME to the Amazon Corretto installation directory.

      Example paths:

      • Amazon Corretto 17: C:\Program Files\Amazon Corretto\jdk17.0.17_10
      • Amazon Corretto 21: C:\Program Files\Amazon Corretto\jdk21.0.9_11

      Build numbers may vary

      Each Amazon Corretto version folder (for example, jdk17.0.17_10) includes a build number that changes with new releases. Always verify the actual folder name after installation in C:\Program Files\Amazon Corretto.

    • Add %JAVA_HOME%\bin to PATH.

  5. Verify the installation. In Command Prompt, run:

    java -version

    You should see the following output (build numbers may vary):

    • Amazon Corretto 17:

      openjdk version "17.0.17" 2025-10-21 LTS
      OpenJDK Runtime Environment Corretto-17.0.17.10.1 (build 17.0.17+10-LTS)
      OpenJDK 64-Bit Server VM Corretto-17.0.17.10.1 (build 17.0.17+10-LTS, mixed mode, sharing)
      
    • Amazon Corretto 21:

      openjdk version "21.0.9" 2025-10-21 LTS
      OpenJDK Runtime Environment Corretto-21.0.9.11.1 (build 21.0.9+11-LTS)
      OpenJDK 64-Bit Server VM Corretto-21.0.9.11.1 (build 21.0.9+11-LTS, mixed mode, sharing)

Fix the “Failed to load data” error with JDK 17 or later

This issue occurs when the ESET PROTECT On-Prem Web Console runs on Apache Tomcat with newer JDK versions (JDK 17 or later). Starting with Java 9, the Java Platform Module System restricts reflective access to certain internal APIs, which some libraries used by the Web Console require.

To resolve this, you need to add special --add-opens options to Apache Tomcat’s Java configuration so that these modules remain accessible. You can add the options through the Apache Tomcat service configuration (tomcat9w.exe), the catalina.bat or service.bat file.

Restart the Apache Tomcat service after every change

You need to restart the Apache service after every change in the .exe or .bat files. To restart the service, follow these steps:

  1. Press the Windows key, type Service and open the Services app.

  2. Right-click Apache Tomcat in the list on the right side.

  3. Click Restart.

Add --add-opens options via Apache Tomcat service configuration (tomcat9w.exe)
  1. Navigate to the Apache Tomcat folder (for example, C:\Program Files\Apache Software Foundation\Tomcat 9.0). Open the bin folder and locate tomcat9w.exe. Double-click the file to run it.

  2. Click the Java tab and add the following values to the Java 9 Options field:

    --add-opens=java.base/java.util=ALL-UNNAMED
    --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
    Figure 1-1

    The Java 9 Options field now contains the following values:

    --add-opens=java.base/java.lang=ALL-UNNAMED
    --add-opens=java.base/java.io=ALL-UNNAMED
    --add-opens=java.base/java.util=ALL-UNNAMED
    --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
    --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
  3. Click OK.
Add --add-opens options in catalina.bat
  1. Navigate to the Apache Tomcat folder (for example, C:\Program Files\Apache Software Foundation\Tomcat 9.0). Open the bin folder and locate the catalina.bat file. Open the file in a text editor.

  2. Locate the rem Configure JAVA 9 specific start-up parameters section and add the following values:

    set "JDK_JAVA_OPTIONS=%JDK_JAVA_OPTIONS% --add-opens=java.base/java.util=ALL-UNNAMED"
    set "JDK_JAVA_OPTIONS=%JDK_JAVA_OPTIONS% --add-opens=java.base/java.util.concurrent=ALL-UNNAMED"

    The rem Configure JAVA 9 specific start-up parameters section now contains the following values:

    set "JDK_JAVA_OPTIONS=%JDK_JAVA_OPTIONS% --add-opens=java.base/java.lang=ALL-UNNAMED"
    set "JDK_JAVA_OPTIONS=%JDK_JAVA_OPTIONS% --add-opens=java.base/java.io=ALL-UNNAMED"
    set "JDK_JAVA_OPTIONS=%JDK_JAVA_OPTIONS% --add-opens=java.base/java.util=ALL-UNNAMED"
    set "JDK_JAVA_OPTIONS=%JDK_JAVA_OPTIONS% --add-opens=java.base/java.util.concurrent=ALL-UNNAMED"
    set "JDK_JAVA_OPTIONS=%JDK_JAVA_OPTIONS% --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED"
  3. Save the changes.

Add --add-opens options in service.bat
  1. Navigate to the Apache Tomcat folder (for example, C:\Program Files\Apache Software Foundation\Tomcat 9.0). Open the bin folder and locate the service.bat file. Open the file in a text editor.

  2. Navigate to the --JvmOptions9 line and change it to:

    --JvmOptions9 "--add-opens=java.base/java.lang=ALL-UNNAMED#--add-opens=java.base/java.io=ALL-UNNAMED#--add-opens=java.base/java.util=ALL-UNNAMED#--add-opens=java.base/java.util.concurrent=ALL-UNNAMED#--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED" ^
  3. Save the changes.