Spring boot 打包应用程序时未执行液化脚本

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模式: 数

我在使用Liquibase时遇到了一个奇怪的问题(我使用的是3.4.2):

  • 当我从IDE启动应用程序时,部署新脚本时不会出现任何问题
  • 当我将我的应用程序打包(作为jar)并将其部署到CI管道中时,脚本不会执行,我得到以下错误:
信息8---[main]liquibase:已成功获取更改日志锁
警告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