我们使用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机器的权限。
答案 0 :(得分:0)
这可能是您的变更日志文件的编码问题。
为了安全起见,请确保您使用的是UTF-8