我的 Spring Boot 2 应用程序出现以下错误:
Caused by: liquibase.exception.ChangeLogParseException: Error Reading Migration File: class path resource [src/main/resources/changelogs/changelog-1.0.xml] cannot be resolved to URL because it does not exist at liquibase.parser.core.xml.XMLChangeLogSAXParser.parseToNode(XMLChangeLogSAXParser.java:118) at liquibase.parser.core.xml.AbstractChangeLogParser.parse(AbstractChangeLogParser.java:15) at liquibase.changelog.DatabaseChangeLog.include(DatabaseChangeLog.java:525) at liquibase.changelog.DatabaseChangeLog.handleChildNode(DatabaseChangeLog.java:334) ... 190 common frames omitted
在应用程序属性中,我们有:spring.liquibase.change-log=classpath:/changelogs/changelog-master.xml
所有脚本均结构在 Spring Boot 的资源文件夹 /src/main/resources/changelogs
中
在 changelogs
fodler 是主要的 xml 和带有变更集的变更日志。
对主 xml 中变更集变更日志的引用如下:
<include file="src/main/resources/changelogs/changelog-1-0.xml"/>
我找不到这行不通的原因。
我试过relativeToChangelogFile="true"
并且仅在文件中使用 file="changelog-1-0.xml"
这有效,为什么?
最佳答案
您不应在主变更日志内的路径中包含src/main/resouces
;这些目录不会反射(reflect)在生成的 jar 中。尝试一下 changelongs/changelog-1-0.xml
。
关于java - Liquibase 找不到变更日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58398863/