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

Spring Boot 2.7.0项目如何正确修改升级Thymeleaf版本

问题根因

Spring Boot 2.7.0通过父POM对Thymeleaf相关依赖做了统一版本管理,默认绑定的是3.0.15版本,管理范围包含Thymeleaf核心包、Spring集成包、官方扩展包等整套组件。之前按照快照指引配置后启动失败,核心原因是没有对齐所有Thymeleaf关联包的版本,出现核心包和集成包版本不匹配、类/方法签名不一致的问题;另外要注意Spring Boot 2.7基于Spring 5构建,仅兼容Thymeleaf 3.0.x分支版本,3.1.x及以上版本是为Spring Boot 3/Spring 6设计的,硬引入会直接触发初始化错误。

正确配置步骤
  • 优先选择3.0.x分支的最新正式版验证bug,稳定性远高于快照版,不会出现快照版本临时变动导致的异常。直接在pom.xml的properties节点中覆盖Spring Boot预留的版本属性即可,不需要单独给每个Thymeleaf相关依赖指定版本,避免漏配:
<properties>
    <!-- 保留原有配置 -->
    <java.version>11</java.version>
    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>
    <!-- 覆盖Thymeleaf版本,填写3.0.x分支最新正式版号即可,可通过Maven仓库查询最新版本 -->
    <thymeleaf.version>3.0.18.RELEASE</thymeleaf.version>
    <!-- 同步对齐Spring5集成包版本,和核心包保持完全一致 -->
    <thymeleaf-spring5.version>${thymeleaf.version}</thymeleaf-spring5.version>
</properties>
  • 如果必须使用3.0分支的快照版本验证未发布的修复,保留之前配置的Sonatype快照仓库即可,不需要修改其他依赖配置。
  • 配置完成后执行以下Maven命令强制拉取最新依赖,清除本地旧缓存的影响:
mvn clean install -U
常见启动失败排查点
  • 执行mvn dependency:tree命令查看所有org.thymeleaf groupId下的依赖版本,确认所有相关包版本完全一致,没有旧版本包残留、版本混杂的情况。
  • 如果之前手动给spring-boot-starter-thymeleaf附加过单独的Thymeleaf依赖、或者做过包排除操作,先全部删除,通过properties属性覆盖版本是最稳妥的方式,不会出现依赖遗漏。
  • 如果项目中引入了Thymeleaf第三方扩展(比如Spring Security扩展、自定义方言包),需要同步升级到适配当前Thymeleaf 3.0.x版本的对应版本,避免扩展包和核心包不兼容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 20:39:19