麻了,Spring Boot 从 2.2.5 升级到 2.7.2 之后,一堆BUG

本文详细记录了Spring Boot从2.2.5升级到2.7.2过程中遇到的九大问题,包括hibernate-validator报错、ErrorController错误、logback与log4j冲突、循环依赖、swagger故障、跳转登录页失败、日期转换异常、Flyway与MySQL 5.7不兼容以及Junit无响应等,并提供了相应的解决方案。升级过程中需要注意Spring Boot对Java版本的要求,以及依赖库的版本匹配,以避免类似问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这篇文章分享一下Spring Boot 升级到2.7的踩坑总结,还是挺全面的,希望对大家有所帮助~

说明

2.7.2为2.x的最后一个稳定版本。

3开始最低要求 Java 17,所以暂时不到3.x。

以下的处理方法主要针对我们的项目,可能并不通用。

1、hibernate-validator包下的类报错

Springboot从2.3以后,spring-boot-starter-web中不再引入hibernate-validator,需要手动引入。

在父pom中引入,已经加入software-center-modules模块中,子模块不需要加:

<dependency>
    <groupId>org.hibernate.validator</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>6.0.18.Final</version>
    <scope>compile</scope>
</dependency>

2、ErrorController无getErrorPath方法

去掉该方法

3、logback和log4j冲突

org.apache.logging.log4j.LoggingException: log4j-slf4j-impl cannot be present with log4j-to-slf4j
    at org.apache.logging.slf4j.Log4jLoggerFactory.validateContext(Log4jLoggerFactory.java:60)
    at org.apache.logging.slf4j.Log4jLoggerFactory.newLogger(Log4jLoggerFactory.java:44)
    at org.apache.logging.slf4j.Log4jLoggerFactory.newLogger(Log4jLoggerFactory.java:33)
    at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:53)
    at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:33)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:363)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:388)
    at com.ld.CreditTaskManageApplication.<clinit>(CreditTaskManageApplication.java:40)
    ... 34 more

排除掉springboot的logging

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-batch</artifactId>
    <exclusions>
        <!-- spring boot 默认的日志框架是Logback,所以在引用log4j之前,需要先排除该包的依赖,再引入log4j2的依赖 -->
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
        </exclusion>
    </exclusions>
</dependency>

4、循环依赖:The dependencies of some of the beans in the application context form a cycle

[c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值