Liquibase 和 PDE:读取迁移文件时出错:找到 2 个与 /resources/changelog.xml 匹配的文件

Dan*_*lor 7 java eclipse-pde liquibase

我在 OSGi 包中使用 Liquibase 来更新数据库。问题是,当我在 Eclipse 中启动时,使用 PDE。然后我得到错误:

liquibase.exception.ChangeLogParseException: Error Reading Migration File: Found 2 files that match /resources/changelog.xml
    at liquibase.parser.core.xml.XMLChangeLogSAXParser.parseToNode(XMLChangeLogSAXParser.java:112)
    at liquibase.parser.core.xml.AbstractChangeLogParser.parse(AbstractChangeLogParser.java:17)
    at liquibase.Liquibase.getDatabaseChangeLog(Liquibase.java:229)
    at liquibase.Liquibase.update(Liquibase.java:202)
    at liquibase.Liquibase.update(Liquibase.java:192)
    at liquibase.Liquibase.update(Liquibase.java:188)
    at liquibase.Liquibase.update(Liquibase.java:181)
Run Code Online (Sandbox Code Playgroud)

资源是重复的,因为 Eclipse 将项目根添加到类路径,并且 maven 构建将 /resources/ 目录复制到 target/classes。因此,在 Eclipse 中运行时,我的更改日志位于/resources/changelog.xml和下/target/classes/resources/changelog.xml。不太好,但这就是 Eclipse 的工作方式,并且没有很好的机会对此做任何事情。

然而,有可能强迫 Liquibase 接受这种不完美的情况,而不是抛出异常吗?