Spring boot 打包应用程序时未执行液化脚本
我在使用Liquibase时遇到了一个奇怪的问题(我使用的是3.4.2):Spring boot 打包应用程序时未执行液化脚本,spring-boot,liquibase,Spring Boot,Liquibase,我在使用Liquibase时遇到了一个奇怪的问题(我使用的是3.4.2): 当我从IDE启动应用程序时,部署新脚本时不会出现任何问题 当我将我的应用程序打包(作为jar)并将其部署到CI管道中时,脚本不会执行,我得到以下错误: 信息8---[main]liquibase:已成功获取更改日志锁 警告8---[main]liquibase:包含的文件类路径:/db/changelog/db.changelog-master.yaml/不是可识别的文件类型 我正在使用includeAll模式: 数
- 当我从IDE启动应用程序时,部署新脚本时不会出现任何问题
- 当我将我的应用程序打包(作为jar)并将其部署到CI管道中时,脚本不会执行,我得到以下错误:
警告8---[main]liquibase:包含的文件类路径:/db/changelog/db.changelog-master.yaml/不是可识别的文件类型 我正在使用includeAll模式:
数据库更改日志:
-包括:
路径:更改
relativeToChangelogFile:true
此外,为了避免出现差异,我的应用程序(Spring Boot应用程序)中有几个模块:
- 我的主要应用程序是moduleA:这是我构建和运行的jar
- moduleA依赖于moduleB,在moduleB中,Liquibase脚本是
问题似乎与这里描述的类似:,但没有提供解决方案。在尝试了各种方法后,比如逐个包含文件,或者升级Liquibase版本,看起来最简单的方法是通过解包文件来调整模块A的spring boot maven插件配置:这样,Liquibase能够找到它正在查找的文件
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<requiresUnpack>
<dependency>
<groupId>com.mydomain</groupId>
<artifactId>moduleB</artifactId>
</dependency>
</requiresUnpack>
</configuration>
</plugin>
org.springframework.boot
springbootmaven插件
com.mydomain
模B