类型 org.flywaydb.core.api.callback.FlywayCallback 不存在
Posted
技术标签:
【中文标题】类型 org.flywaydb.core.api.callback.FlywayCallback 不存在【英文标题】:Type org.flywaydb.core.api.callback.FlywayCallback not present 【发布时间】:2020-12-20 10:12:58 【问题描述】:将 Flyway 从 5.2.4 升级到
compile group: 'org.flywaydb', name: 'flyway-core', version: '6.5.0'
运行 spring boot 应用程序时出现错误:
Unsatisfied dependency expressed through method 'mapDao' parameter 0;
nested exception is org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayConfiguration':
Unexpected exception during bean creation;
nested exception is java.lang.TypeNotPresentException:
Type org.flywaydb.core.api.callback.FlywayCallback not present
如果我不升级应用程序运行并出现警告:
Flyway upgrade recommended: PostgreSQL 12.3 is newer than this version of Flyway and support has not been tested.
我想解决的问题
我应该如何配置应用程序以使其使用 Flyway 6.5 和 Spring Boot 2.1.2.RELEASE ?
【问题讨论】:
【参考方案1】:org.flywaydb.core.api.callback.FlywayCallback
接口在 2018 年被 org.flywaydb.core.api.callback.Callback
替换,因此只需更新您的代码以使用新接口即可。
【讨论】:
应用源码中没有Flyway相关的单行代码。看来spring可以管理它。 我减少了 flyway 版本,一切都对我有用【参考方案2】:它并没有真正回答问题,但在我的情况下是可以接受的。 我刚刚将 Spring Boot 依赖项更新为 2.2.2 并且错误消失了。 无需更改应用源代码。
【讨论】:
以上是关于类型 org.flywaydb.core.api.callback.FlywayCallback 不存在的主要内容,如果未能解决你的问题,请参考以下文章
原因:org.flywaydb.core.api.FlywayException:验证失败。迁移 2 的迁移校验和不匹配