gpt4 book ai didi

gradle - Liquibase includeAll 找不到基本路径

转载 作者:行者123 更新时间:2023-12-02 04:43:34 25 4
gpt4 key购买 nike

在将项目从 Maven 迁移到 gradle 时,我遇到了以下问题。

我的文件结构如下所示:

Filesystem

changelog-master.xml 包含changelog-v1-0.xml,其中应包含目录 v1-0 并包含以下行: <includeAll path="src/main/resources/liquibase/changelogs/v1-0/" errorIfMissingOrEmpty="true" /> 。这很好用。这个:<includeAll path="/liquibase/changelogs/v1-0/" errorIfMissingOrEmpty="true" relativeToChangelogFile="true" />没有。我收到以下错误消息:

Cannot find base path 'src/main/resources/liquibase/changelogs/changelog-v1-0.xml' 

在版本 3.6.2 中使用 liquibase。我还尝试了 3.6.0、3.6.1 和 3.5.5 版本。我正在使用 gradle 构建 4.9 版本的项目和 2.0.1 版本的插件,并尝试了 1.2.4 和 2.0.0。我尝试了所有可能的路径组合以及有或没有 relativeToChangelogFile="true"设置但到目前为止没有任何效果。我需要相对于变更日志文件的路径。我还在 jira、github 和 stackoverflow 中红色了各种问题,但到目前为止没有任何效果。

为什么这不起作用?

我猜这个错误只能由 liquibase 社区解决,因为它似乎是 liquibase 本身的问题。

最佳答案

我通过将类路径设置添加到 build.gradle 中 liquibase 插件事件的定义中来修复此错误

liquibase {
activities {
main {
classpath "$projectDir/src/main/resources/liquibase"
changeLogFile 'r1.0/r1.0-master.yaml'
driver 'com.mysql.cj.jdbc.Driver'
url 'jdbc:mysql://localhost:3306/dbName'
username 'root'
password 'password'
}

}}

然后,在主更改日志文件 r1.0-master.yaml 中,includeAll 指向相对路径 included,我的其他更改日志文件保存在其中。

databaseChangeLog:
- includeAll:
path: included
relativeToChangelogFile: true

关于gradle - Liquibase includeAll 找不到基本路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54257030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com