当前位置: 首页 > 知识库问答 >
问题:

Liquibase找不到changelog文件

谷梁玺
2023-03-14

我在spring Boot2应用程序中有以下错误:

由:liquiBase.exception.changeLogParseException引起:读取迁移文件时出错:无法将类路径资源[src/main/resources/changeLogs/changeLog-1.0.xml]解析为URL,因为它不存在于liquiBase.parser.core.xml.xmlChangeLogsaxParser.parsetonode(xmlChangeLogsaxParser.java:118)和liquiBase.parser.core.xml.abstractChangeLogParser.parse(334)...省略190个公共帧

在应用程序属性中,我们有:spring.liquiBase.change-log=classpath://changelogs/changelog-master.xml

所有脚本都结构化在spring Boot的资源文件夹/src/main/resources/changelogs

Changelogs中,fodler是master xml和changelog,以及Changeset。

我找不到这不起作用的理由。

我尝试了relationvetochangelogfile=“true”,在文件中只使用file=“changelog-1-0.xml”,这很有效,为什么?

共有1个答案

赵超
2023-03-14

您不应该在主Changelog的路径中包含src/main/resouces;这些目录不会反映在生成的JAR中。只尝试changelongs/changelog-1-0.xml

 类似资料:
  • 当我启动Spring-boot时,我会收到以下错误消息: org.springframework.beans.factory.BeanCreationException:创建名为“org.springframework.boot.AutoConfigure.LiquiBase.LiquiBaseAutoConfiguration”的bean时出错:调用init方法失败;嵌套异常为java.lang

  • 解决这种迁移的合适方法是什么?扔掉changelog历史记录,使用修改后的changelog从头重新构建架构,然后迁移数据?有更好的方法吗?

  • 在我的应用程序中,我可能需要运行多个Changelog文件,但我无法执行这样的执行, 我尝试按以下方式提供多个Changelog, LiquiBase.SetChangeLog(“classpath:schema/update-schema-01.sql”); LiquiBase.SetChangeLog(“classpath:schema/update-schema-02.sql”); 请在这里

  • 在我们的项目中使用gradle-liquibase插件,解决了所有的依赖关系。 我有以下由Gradle liquibase插件建议的liquibase任务: 有关如何解决与类路径相关的问题的帮助吗?

  • 我在SpringBoot中使用liquiBase 3.8.0。我的changelog文件树如下所示: 我尝试使用上下文,但发现了奇怪的行为--如果我在changelog-master.xml或changelog-test.xml中使用上下文,就像这样(父级changelog文件): 之后,contexts列将填充“!prod AND test” 我希望contexts列始终是填充的(如果我在父ch

  • 按照建议,我在我的中创建了一个文件 要能够运行。 当我运行,我得到以下输出(使用选项): 看起来该命令运行“成功”,但在我挂载的本地目录中找不到文件,即。然而,挂载必须工作,因为它成功地连接到数据库,即容器能够访问和读取。 首先,我认为我可能必须“告诉”Docker允许在我的磁盘上写入,但似乎应该支持这一点[从Docker Hub上的描述来看]: /liquibase/changelog卷还可用于