问题
- ESET PROTECT On-Prem Web 控制台支持的 JDK 和 Apache Tomcat 版本
- 为 ESET PROTECT On-Prem Web 控制台切换 Apache Tomcat 使用的 JDK 发行版
- 安装 Amazon Corretto JDK
- 使用 JDK 17 或更高版本修复 "加载数据失败 "错误
详细信息
单击展开
ESET PROTECT On-Prem Web 控制台在 Apache Tomcat 上运行,Apache Tomcat 是 Java 应用程序的 Web 服务器和 servlet 容器。Apache Tomcat 不包含 Java 运行时;它依赖于 Java 开发工具包 (JDK) 提供的 Java 运行时。从历史上看,Oracle JDK 8(Java SE 8)是 Apache Tomcat 使用最广泛的版本,因此许多部署都依赖于它。
从 2019 年 1 月开始,Oracle 更改了 Java SE 8 的许可。
如果您使用 Oracle JDK 8 (Java SE 8),但没有 Oracle 订阅,可以改用受支持的免费替代方案(如 Amazon Corretto)。
本文涉及 Windows 安装。对于 Linux,请参阅为 SUSE Linux Enterprise Server 或 Debian 安装 JDK 的相关指南。
解决方案
ESET PROTECT On-Prem Web 控制台支持的 JDK 和 Apache Tomcat 版本
要运行 ESET PROTECT On-Prem Web 控制台,您需要 Java 开发工具包 (JDK) 提供的 Java 运行时和兼容的 Apache Tomcat 版本。
我们建议安装
- Apache Tomcat 9.x(最新稳定版本)
- JDK 17 或 21 (LTS)
有关 JDK 版本的更多信息,请参阅下面的 "支持的 JDK 版本"部分。
支持的 JDK 版本
| 支持的 JDK 版本 | ESET PROTECT On-Prem 版本 |
| 17 |
10.x - 13.x
|
| 21 |
11.x - 13.x
|
Oracle JDK的替代版本(无成本发行版):
-
有关安装说明,请参阅安装 Amazon Corretto JDK部分。
-
基于 OpenJDK 的发行版--例如Eclipse Temurin 17 或 21 (LTS)
使用
.msi安装程序在 Windows 上安装 OpenJDK 发行版时,请在安装向导中选择设置或覆盖JAVA_HOME环境变量的选项(通常在自定义设置下)。这将确保 Java 安装路径在 Windows 中注册,使 Apache Tomcat 能够找到 JDK。
为 ESET PROTECT On-Prem Web 控制台切换 Apache Tomcat 使用的 JDK 发行版
-
导航到 Apache Tomcat 文件夹(例如,
C:\Program Files\Apache Software Foundation\Tomcat 9.0)。打开bin文件夹并找到tomcat9w.exe。双击该文件运行。Apache Tomcat 属性将打开。 -
单击 "常规"选项卡并单击 "停止"以停止Apache Tomcat 服务。
-
卸载当前的 JDK。
-
安装新的 JDK。
-
返回 "Apache Tomcat 属性",单击 "Java"选项卡。
-
在Java 虚拟机字段中,更新路径以指向新安装的 JDK 的
jvm.dll文件(例如,对于 Amazon Corretto,C:\Program Files\Amazon Corretto\jdk21.0.9_10\bin\server\jvm.dll)。 -
单击 "常规"(General)选项卡,然后单击 "启动"(Start)以启动 Apache Tomcat 服务。
-
验证是否可以登录 ESET PROTECT On-Prem Web 控制台。
安装 Amazon Corretto JDK
-
下载Amazon Corretto 17或Amazon Corretto 21 的 Windows
.msi安装文件。 -
双击安装文件开始安装。
-
继续执行安装步骤。
您可以选择设置自定义安装路径。默认情况下,
AmazonCorretto 17 安装在C:\Program Files\Amazon Corretto\下。如果设置了自定义路径,请记下路径以便下一步操作。 -
安装完成后,设置
JAVA_HOME和PATH环境变量。-
将
JAVA_HOME设置为 Amazon Corretto 的安装目录。路径示例:
- Amazon Corretto 17:
C:\Program Files\Amazon Corretto\jdk17.0.17_10 - Amazon Corretto 21:
C:\Program Files\Amazon Corretto\jdk21.0.9_11
- Amazon Corretto 17:
-
在
PATH中添加%JAVA_HOME%\bin。
-
-
验证安装。在命令提示符中运行
java -version你应该会看到以下输出(版本号可能会有所不同):
-
亚马逊 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 位服务器虚拟机 Corretto-17.0.17.10.1 (build 17.0.17+10-LTS, mixed mode, sharing) -
亚马逊 Corretto 21:
openjdk 版本 "21.0.9" 2025-10-21 LTS OpenJDK 运行时环境 Corretto-21.0.9.11.1 (build 21.0.9+11-LTS) OpenJDK 64 位服务器虚拟机 Corretto-21.0.9.11.1 (build 21.0.9+11-LTS, 混合模式, 共享)
-
修复 JDK 17 或更高版本中的 "加载数据失败 "错误
ESET PROTECT On-Prem Web 控制台在使用较新 JDK 版本(JDK 17 或更高版本)的 Apache Tomcat 上运行时会出现此问题。从 Java 9 开始,Java Platform Module System 限制对某些内部 API 的反射访问,而 Web 控制台使用的某些库需要这些 API。
为了解决这个问题,您需要在 Apache Tomcat 的 Java 配置中添加特殊的--add-opens选项,以便这些模块仍可访问。您可以通过Apache Tomcat 服务配置 (tomcat9w.exe)、catalina.bat或service. bat文件添加这些选项。
通过 Apache Tomcat 服务配置 (tomcat9w.exe) 添加--添加--打开选项
-
导航至 Apache Tomcat 文件夹(例如,
C:\Program Files\Apache Software Foundation\Tomcat 9.0)。打开bin文件夹并找到tomcat9w.exe。双击该文件运行。 -
单击Java 选项卡并在Java 9 选项字段中添加以下值:
--add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
图 1-1 Java 9 选项字段现在包含以下值:
--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 - 单击 "确定"。
在 catalina.bat 中添加 --add-opens 选项
-
导航到 Apache Tomcat 文件夹(例如,
C:\Program Files\Apache Software Foundation\Tomcat 9.0)。打开bin文件夹,找到catalina.bat文件。用文本编辑器打开该文件。 -
找到远程配置 JAVA 9 特定启动参数部分,并添加以下值:
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"远程配置 JAVA 9 特定启动参数部分现在包含以下值:
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" 设置 "JDK_JAVA_OPTIONS=%JDK_JAVA_OPTIONS%--add-opens=java.base/java.util=ALL-UNNAMED"。设置 "JDK_JAVA_OPTIONS=%JDK_JAVA_OPTIONS% --add-opens=java.base/java.util=ALL-UNNAMED" 设置 "JDK_JAVA_OPTIONS=%JDK_JAVA_OPTIONS% --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED" 保存更改。 -
保存更改。
在 service.bat 中添加 --add-opens 选项
-
导航至 Apache Tomcat 文件夹(例如,
C:\Program Files\Apache Software Foundation\Tomcat 9.0)。打开bin文件夹,找到service.bat文件。用文本编辑器打开该文件。 -
导航至
--JvmOptions9行并将其更改为--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"^ -
保存更改。