问题
- ESET PROTECT 本地 Web 控制台支持的 JDK 和 Apache Tomcat 版本
- 切换 ESET PROTECT 本地部署 Web 控制台中 Apache Tomcat 所使用的 JDK 发行版
- 安装 Amazon Corretto JDK
- 修复使用 JDK 17 或更高版本时出现的“加载数据失败”错误
详细信息
点击展开
ESET PROTECT 本地 Web 控制台运行在 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 安装 JDK 的相关指南 或 Debian 上的相关指南。
解决方案
ESET PROTECT On-Prem Web Console 支持的 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
|
| 25 |
13.1 及更高版本
|
Oracle JDK的替代方案(免费发行版):
-
有关安装说明,请参阅“安装 Amazon Corretto JDK”部分。
-
基于 OpenJDK 的发行版——例如,Eclipse Temurin 17 或 21(LTS)
在 Windows 上使用
.msi安装程序安装 OpenJDK 发行版时,请在安装向导中(通常位于“自定义安装”选项下)选择设置或覆盖JAVA_HOME环境变量的选项。这可确保 Java 安装路径在 Windows 中被注册,从而使 Apache Tomcat 能够定位到 JDK。
切换 Apache Tomcat 用于 ESET PROTECT 本地 Web 控制台的 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)。 -
点击“常规”选项卡,然后点击“启动”以启动 Apache Tomcat 服务。
-
请确认您能够登录 ESET PROTECT On-Prem Web 控制台。
安装 Amazon Corretto JDK
-
下载Amazon Corretto 17或Amazon Corretto 21 的 Windows
.msi安装文件。 -
双击安装文件以开始安装。
-
按照安装步骤进行操作。
您可以选择设置自定义安装路径。默认情况下,Amazon Corretto 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:
-
将
%JAVA_HOME%\bin添加到PATH环境变量中。
-
-
验证安装是否成功。在命令提示符中运行:
java -version您应看到以下输出(构建编号可能有所不同):
-
Amazon Corretto 17:
openjdk 版本 "17.0.17" 2025-10-21 LTS OpenJDK 运行时环境 Corretto-17.0.17.10.1 (构建版本 17.0.17+10-LTS) OpenJDK 64 位服务器虚拟机 Corretto-17.0.17.10.1(构建版本 17.0.17+10-LTS,混合模式,共享) -
Amazon Corretto 21:
openjdk 版本 "21.0.9" 2025-10-21 LTS OpenJDK 运行时环境 Corretto-21.0.9.11.1 (构建版本 21.0.9+11-LTS) OpenJDK 64 位服务器虚拟机 Corretto-21.0.9.11.1(构建版本 21.0.9+11-LTS,混合模式,共享)
-
修复 JDK 17 或更高版本中的“加载数据失败”错误
当 ESET PROTECT 本地 Web 控制台在 Apache Tomcat 上运行且使用较新版本的 JDK(JDK 17 或更高版本)时,会发生此问题。从 Java 9 开始,Java 平台模块系统限制了对某些内部 API 的反射访问,而 Web 控制台使用的某些库需要这些 API。
要解决此问题,您需要在 Apache Tomcat 的 Java 配置中添加特殊的--add-opens选项,以确保这些模块仍可访问。您可以通过Apache Tomcat 服务配置(tomcat9w.exe)、catalina.bat或service.bat文件添加这些选项。
通过 Apache Tomcat 服务配置(tomcat9w.exe)添加 --add-opens 选项
-
导航至 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文件。使用文本编辑器打开该文件。 -
找到“rem 配置 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" 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" -
保存更改。
在 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" ^ -
保存更改。