Spring Boot多模块Gradle项目启动找不到SpringLiquibase类报错如何解决?
问题根因
Spring Boot 自动配置机制触发了 Liquibase 配置加载逻辑,但类路径下不存在 Liquibase 核心依赖,因此抛出类找不到异常。
解决方案
分为两种场景按需选择:
场景1:不需要使用 Liquibase 做数据库版本管理
二选一即可:
- 方式一:修改启动类注解,排除 Liquibase 自动配置类
import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration; @SpringBootApplication(exclude = {LiquibaseAutoConfiguration.class}) public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
- 方式二:在 application.yml / application.properties 配置文件中关闭 Liquibase 自动配置
spring: liquibase: enabled: false
场景2:需要使用 Liquibase
在对应模块的 build.gradle 依赖块中添加 Liquibase 依赖即可,Spring Boot 已统一管控版本,无需手动指定版本号:
implementation 'org.liquibase:liquibase-core'
可选优化项
你当前的多模块 Gradle 配置存在不合理点:subprojects 块给所有子模块都应用了 org.springframework.boot 插件,但 module-common、module-client、module-admin 都是普通依赖包,不是可执行服务包,建议仅给带启动类的可执行模块应用 Spring Boot 插件,减少不必要的配置加载逻辑。
内容的提问来源于stack exchange,提问作者sb0321
相关产品推荐
相关产品推荐

