找不到 Gradle Liquibase 更改日志文件



在我们的项目中使用 gradle-liquibase 插件,并解决了所有依赖项。

我有以下 Gradle liquibase 插件建议的 liquibase 任务:

liquibase {
   activities {
   main {      
      changeLogFile 'src/main/resources/db/dbchangelog-master.xml'
      url 'jdbc:mysql://localhost:3306/test'
      username 'XXX'
      password 'XXX'
     } 
  }
 runList = 'main'
}

但是遇到了问题,尽管日志文件位于项目类路径目录(src/main/resources/)中,但liquibase无法识别changeLogFile

错误:

Caused by: liquibase.exception.ChangeLogParseException:
src/main/resources/dbchangelog/db.changelog-master.xml does not exist

关于我应该如何解决与类路径相关的问题的任何帮助?

只需在 src 目录所在的位置添加一个类路径参数

liquibase {
   activities {
   main {      
      changeLogFile 'src/main/resources/db/dbchangelog-master.xml'
      url 'jdbc:mysql://localhost:3306/test'
      username 'XXX'
      password 'XXX'
      classpath "$rootDir"
     } 
  }
 runList = 'main'
}

我在使用 gradle liquibase 插件版本 1.0.0 时遇到了同样的问题,并找到了解决方法......在您的示例中,它将是这样的:

liquibase {
   activities {
   main {      
      changeLogFile "${this.rootDir}/src/main/resources/db/dbchangelog-master.xml"
      url 'jdbc:mysql://localhost:3306/test'
      username 'XXX'
      password 'XXX'
     } 
  }
 runList = 'main'
}

当您从 eclipse 运行 gradle 任务时 - 它确实尝试在 eclipse 本身的根目录中查找更改日志文件......

当前目录是否确实在您的类路径中?通常,您的类路径配置为包含"目标"输出目录,并可能将"src/main/resources"作为另一个类路径根目录。

如果你使用changeLogFile 'db/dbchangelog-master.xml'它有效吗?

相关内容

  • 没有找到相关文章

最新更新