You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java 8升级至17后HotSpot警告及配置类加载异常求助

Java 8升级至17后的问题解决指南

一、移除废弃的JVM参数

针对警告:

Java HotSpot(TM) 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.

直接在项目的启动配置中删掉-Xverify:none和-noverify这两个参数即可。不管是IDEA的运行配置、Maven/Gradle的构建脚本,还是项目的启动shell脚本,找到对应位置移除就能消除该警告。

二、修复配置类加载失败异常

针对异常:

java.lang.IllegalStateException: Cannot load configuration class: com.globema.geoplatform.mapservices.auth.AuthenticationServerApplication
[...]Caused by: java.lang.ExceptionInInitializerError: null

ExceptionInInitializerError说明配置类初始化阶段(静态代码块、静态成员变量初始化环节)抛出了未捕获的异常,按以下步骤排查修复:

  • 查看完整异常堆栈:你提供的信息省略了核心子异常,必须找到Caused by后面的具体异常信息,这是定位问题的关键。
  • 检查依赖兼容性:如果项目用了Spring Boot/Spring Cloud,低版本框架不支持JDK17,需要升级到兼容版本——比如Spring Boot 2.7.x及以上(推荐3.x),Spring Cloud对应2021.0.x及以上版本,同时数据库驱动、第三方工具库也要同步升级到支持JDK17的版本。
  • 排查静态初始化逻辑:检查AuthenticationServerApplication类及其依赖的静态代码块、静态变量,看是否有用到JDK8中存在但JDK17已移除/修改的API(比如某些反射方法、已废弃的工具类)。
  • 处理模块化权限问题:JDK17的模块化系统会限制跨模块的反射操作,如果是反射导致的初始化失败,需要在JVM启动参数中添加--add-opens或--add-exports开放权限,例如:
    --add-opens java.base/java.lang=ALL-UNNAMED
    --add-opens java.base/java.util=ALL-UNNAMED
    
    具体需要开放哪些模块,根据异常提示调整。

内容的提问来源于stack exchange,提问作者HappyProgrammer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 14:07:10