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

使用Liquibase 4.18.0与Spring Boot 3.0.1生成Diff脚本报错求助

Liquibase 4.18.0 + Spring Boot 3.0.1 API不兼容问题解决办法

这个错误的核心原因很明确:Spring Boot 3.0.x全量切换到了Jakarta EE规范,所有JPA相关API的包名从javax.persistence改为jakarta.persistence;而Liquibase 4.18.0的代码仍依赖旧的javax.persistence.spi.PersistenceUnitInfo接口,和Spring Boot 3返回的jakarta.persistence.spi.PersistenceUnitInfo不匹配,导致NoSuchMethodError。

解决办法

  • 优先方案:升级Liquibase到适配版本
    Liquibase从4.20.0版本开始正式支持Jakarta EE API(包括Spring Boot 3),直接升级到4.20.0或更高的稳定版本就能彻底解决这个兼容性问题。
    以Maven为例,修改依赖版本:

    <dependency>
        <groupId>org.liquibase</groupId>
        <artifactId>liquibase-core</artifactId>
        <version>4.20.0</version> <!-- 可替换为最新稳定版 -->
    </dependency>
    
  • 临时应急方案(不推荐长期使用)
    如果暂时无法升级Liquibase,可尝试手动排除Liquibase依赖中的javax.persistence-api,并引入Jakarta API的桥接依赖,但这种方式可能引发其他潜在兼容性问题,仅作为短期应急手段。

总结

不需要等待新的Liquibase版本,官方已经在4.20.0及以上版本完成了Spring Boot 3的适配,升级版本是最稳妥的解决方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 19:30:35