flyway遇到的问题Caused by: java.lang.ClassNotFoundException: org.flywaydb.core.api.callback.FlywayCallbac

问题

环境是springboot2.1.8+flyway6.0.4,尝试编译出错,异常堆栈的信息是找不到flywaycallback类

解决过程

1、flywaycallback找不到,导致org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayConfiguration这个bean创建失败

FlywayAutoConfiguration类中找不到FlywayCallback类,实际上是FlywayConfiguration中FlywayCallback找不到,导致创建FlywayConfiguration失败。

2、找到FlywayCallback的import代码

3、找到FlywayCallBack所在的jar包中,到org.flywaydb.core.api.callback路径下确认是否有FlywayCallBack

结论

springboot2.1.8中org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayConfiguration找不到flyway6.0.4中的FlywayCallback类

即flyway6.0.4将FlywayAutoConfiguration依赖的FlywayCallback干掉了,最终肯定找不到FlywayCallback类。

将flyway的版本降到5.2.4就ok了

思考

java.lang.ClassNotFoundException和java.lang.NoClassDefFoundError错误的时候,需要一步步分析问题,方可解决问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值