liquibase元素'databaseChangeLog'已使用但未声明

时间:2018-11-13 15:12:33

标签: xml-parsing liquibase

我们使用liquibase 3.6.1更改数据库mysql 5.x。

在Windows(10)上,一切正常。但是在Linux上,我们得到了错误:

liquibase.exception.ChangeLogParseException: Error parsing line 2 column 19 
of /home/myapp/conf/db/liquibase/changelog.xml: Element 
'databaseChangeLog' used but not declared.
    at    
 liquibase.parser.core.xml.XMLChangeLogSAXParser.parseToNode
Caused by: oracle.xml.parser.v2.XMLParseException: Element 
'databaseChangeLog' used but not declared.
at oracle.xml.parser.v2.XMLError.flushErrors(XMLError.java:143)
 oracle.xml.parser.v2.NonValidatingParser.parseDocument 
(NonValidatingParser.java:269)
at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:149) 
at liquibase.parser.core.xml.XMLChangeLogSAXParser.parseToNode
(XMLChangeLogSAXParser.java)
... 11 common frames omitted
Caused by: org.xml.sax.SAXParseException: <Line 2, Column 19>: XML-0149: (Error) Element 'databaseChangeLog' used but not declared.
at oracle.xml.parser.v2.XMLError.flushErrorHandler(XMLError.java:169)
at oracle.xml.parser.v2.XMLError.flushErrors(XMLError.java:137)
... 14 common frames omitted

问题可能与xml解析器有关,但我不了解实际情况。那我该怎么办。

不幸的是,我也没有访问Linux机器的权限。

1 个答案:

答案 0 :(得分:0)

这可能是您的变更日志文件的编码问题。

为了安全起见,请确保您使用的是UTF-8