我在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)
资源是重复的,因为Eclipse将项目根添加到类路径,maven将副本/资源/目录构建到目标/类。因此,在Eclipse中运行,我的更改日志位于/resources/changelog.xml
和/target/classes/resources/changelog.xml
下。不好,但它只是Eclipse的工作原理,没有很好的机会对它做任何事情。
然而,有可能迫使Liquibase接受这种不完美的情况,而不是抛出异常吗?