SpringBoot集成Liquibase启动提示master.yaml不存在如何处理
解决方案
优先检查YAML配置缩进正确性
YAML语法对缩进极为敏感,你给出的配置示例层级缩进不符合规范,会导致Spring无法正确读取liquibase配置, fallback到默认路径。正确的配置格式如下:spring: liquibase: change-log: classpath:liquibase/v2/changelog.yml enabled: true注意每个层级缩进2个空格,禁止使用Tab缩进,避免层级错乱。
校验 changelog 文件实际路径
查看项目src/main/resources目录下是否存在liquibase/v2/changelog.yml文件,注意文件名大小写、后缀是否和配置完全一致(yml和yaml是不同后缀,Linux/macOS环境大小写敏感,大小写不符也会导致找不到文件)。你也可以直接查看编译后的target/classes(Maven项目)或build/resources/main(Gradle项目)目录,确认对应路径下存在该文件。排查多配置源覆盖问题
检查是否存在环境特定配置文件(如application-dev.yml、application-prod.yml)、启动命令参数、系统环境变量中配置了liquibase的changelog路径,优先级更高的配置源会覆盖application.yml中的配置,导致自定义路径不生效。检查资源打包规则
确认你的项目构建工具(Maven/Gradle)没有将yml后缀文件排除在资源打包范围外,如果构建配置只打包properties格式资源,会导致yml文件不会被拷贝到类路径下,自然无法被读取。确认依赖配置正确性
确保你引入的是官方spring-boot-starter-liquibase依赖,没有出现依赖版本冲突的问题。
内容的提问来源于stack exchange,提问作者Angelina

