Liquibase 3.2未找到dbchangelog-3.2.xsd

Liquibase 3.2未找到dbchangelog-3.2.xsd,liquibase,Liquibase,运行版本3.2时,我收到一个错误 [警告]liquibase-架构_引用。4:未能读取架构文档“”,因为1)找不到该文档;2) 文件无法读取;3) 文档的根元素不是 当我寻找它的时候,它不在那里,虽然在那里 我是这样理解的,我的意思是你不需要访问互联网就可以获得dbchangelog-3.2.xsd。当互联网可用但.xsd不存在时,它似乎没有帮助 我已恢复到3.1,但想知道3.2问题的根本原因。我通过在应用程序中分发模式并在本地引用它(相对路径)来解决它。在下面的示例中,模式文件与变更日志位于同

运行版本3.2时,我收到一个错误

[警告]liquibase-架构_引用。4:未能读取架构文档“”,因为1)找不到该文档;2) 文件无法读取;3) 文档的根元素不是

当我寻找它的时候,它不在那里,虽然在那里

我是这样理解的,我的意思是你不需要访问互联网就可以获得dbchangelog-3.2.xsd。当互联网可用但.xsd不存在时,它似乎没有帮助


我已恢复到3.1,但想知道3.2问题的根本原因。

我通过在应用程序中分发模式并在本地引用它(相对路径)来解决它。在下面的示例中,模式文件与变更日志位于同一文件夹中

<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog dbchangelog-3.1.xsd">

<!-- all the things -->

</databaseChangeLog>

Liquibase不在Internet上查找xsd。将替换为java资源的路径


有关更详细的信息,请参见

liquibase
版本更新为最新解决的我的问题

<dependency>
    <groupId>org.liquibase</groupId>
    <artifactId>liquibase-maven-plugin</artifactId>
    <version>3.6.3</version>
</dependency>

org.liquibase
liquibase maven插件
3.6.3

我修复了发现的问题

该解决方案仅适用于使用maven liquibase插件的解决方案。 必须使用以下选项运行liquibase迁移
-Dprefer.internal.xsd=true


mvn-Dprefer.internal.xsd=true liquibase:update

3.2.xsd现已上载,因此应该可以访问,但不应该由liquibase获取。你是在代理后运行还是有任何其他奇怪的网络设置?不,据我所知没有什么不寻常的。当然,只有当我保存了.xsd的本地副本并将其更改为硬编码链接地址时,它才起作用。当时我认为,只有在没有互联网接入的情况下,才能使用本地副本,不包括互联网可用但.xsd不存在的情况。它不应该使用网络。您是否可以使用3.2.1进行测试,如果仍然有问题,请在liquibase.jira.com上打开一个问题,包括您的xml头?我在一个网络代理后面,在尝试使其工作时遇到了重大问题。得到与问题中相同的错误,为什么模式不只是包含在jar中。