Liquibase 找不到更改日志文件
Liquibase cannot find changelog file
我的 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 引导资源文件夹 /src/main/resources/changelogs
中构建
在 changelogs
中,fodler 是主控 xml 并且变更日志也是变更集。
对 master xml 中变更集变更日志的引用是这样的:
<include file="src/main/resources/changelogs/changelog-1-0.xml"/>
我找不到这不起作用的原因。
我试过 relativeToChangelogFile="true"
并且在文件中仅使用 file="changelog-1-0.xml"
并且这有效,为什么?
你不应该在主变更日志中的路径中包含 src/main/resouces
;这些目录不会反映在生成的 jar 中。试试 changelongs/changelog-1-0.xml
.
我的 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 引导资源文件夹 /src/main/resources/changelogs
在 changelogs
中,fodler 是主控 xml 并且变更日志也是变更集。
对 master xml 中变更集变更日志的引用是这样的:
<include file="src/main/resources/changelogs/changelog-1-0.xml"/>
我找不到这不起作用的原因。
我试过 relativeToChangelogFile="true"
并且在文件中仅使用 file="changelog-1-0.xml"
并且这有效,为什么?
你不应该在主变更日志中的路径中包含 src/main/resouces
;这些目录不会反映在生成的 jar 中。试试 changelongs/changelog-1-0.xml
.