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

OGNL 3.3.3与Spring Boot 2.7.2兼容问题及解决方案咨询

可行的升级方案

针对你遇到的OGNL版本冲突问题,有两个明确的解决路径,既能修复CVE-2020-15250漏洞,又能避免NoClassDefFoundError错误:

方案一:升级Thymeleaf到兼容OGNL 3.2+的版本

Spring Boot 2.7.x可以兼容Thymeleaf 3.1.x系列版本,该系列已经适配了OGNL 3.2+的API变更(不再依赖ognl.DefaultMemberAccess)。具体操作:

  • 在pom.xml中显式指定Thymeleaf的版本为3.1.x(比如最新的3.1.2.RELEASE),同时保留OGNL 3.3.3的强制指定:
<properties>
    <thymeleaf.version>3.1.2.RELEASE</thymeleaf.version>
    <ognl.version>3.3.3</ognl.version>
</properties>
  • 执行mvn clean install更新依赖,此时Thymeleaf会使用OGNL 3.3.3的新API,不会再寻找已移除的DefaultMemberAccess类。

方案二:升级OGNL到3.1.x的安全修复版本,保留现有Thymeleaf版本

CVE-2020-15250漏洞在OGNL 3.1.26版本已经完成修复,该版本仍保留DefaultMemberAccess类,完全兼容Thymeleaf 3.0.15.RELEASE。具体操作:

  • 移除pom.xml中OGNL 3.3.3的强制指定,改为指定3.1.26版本:
<properties>
    <ognl.version>3.1.26</ognl.version>
</properties>
  • 执行依赖更新后,既修复了漏洞,又不会触发类找不到的错误,无需改动Thymeleaf相关配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 22:57:19