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

GCP部署Spring Boot应用时Liquibase changelog文件找不到求助

问题排查与解决方案

1. 检查Liquibase是否被意外启用

你配置了spring.liquibase.enabled=false,但报错显示Liquibase仍在尝试加载变更日志,大概率是atlassian-connect-spring-boot-jpa-starter自动启用了Liquibase。需要添加atlassian专属的禁用配置:

atlassian.connect.liquibase.enabled=false

如果确实需要使用Liquibase,再保留启用逻辑。

2. 修正变更日志路径配置

报错明确提示Liquibase 4.0+不再支持绝对路径写法,你当前配置classpath:/liquibase/liquibase-changeLog.xml里的开头/会被识别为绝对路径,改为相对路径格式即可:

spring.liquibase.change-log=classpath:liquibase/liquibase-changeLog.xml

同时可通过命令验证jar包内文件路径是否正确:

jar tf your-app.jar | grep liquibase-changeLog.xml

确保输出为BOOT-INF/classes/liquibase/liquibase-changeLog.xml,这是Spring Boot jar包中classpath资源的标准路径结构。

3. 排查依赖版本冲突

你的spring-cloud-gcp-starter-sql-mysql 1.1.1.RELEASE版本较老,可能与atlassian-connect-spring-boot-starter 2.3.3引入的Liquibase 4.x+版本存在适配问题。可通过以下命令查看依赖树,确认Liquibase实际版本:

mvn dependency:tree | grep liquibase

若版本为4.x+,务必遵循其路径规则;同时建议升级spring-cloud-gcp-starter-sql-mysql到与当前Spring Boot版本匹配的较新版本(比如对应Spring Boot 2.7.x的3.4.x系列),减少兼容性风险。

4. App Engine Flex环境classpath验证

在App Engine Flex环境中,Spring Boot jar包运行时的classpath根目录为BOOT-INF/classes,确保你的变更日志文件确实放在src/main/resources/liquibase/目录下——Maven打包时会自动将该目录下的文件同步到BOOT-INF/classes/liquibase/。

内容的提问来源于stack exchange,提问作者Ram's

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 12:03:25