Debezium Mysql连接器解析器下的IncompatibleClassChangeError

时间:2020-06-22 10:10:46

标签: java mysql mysql-error-1064 debezium

我有一个Java应用程序,在其中使用Debezium-connector-mysql依赖项 像这样

    <dependency>
            <groupId>io.debezium</groupId>
            <artifactId>debezium-connector-mysql</artifactId>
            <version>1.2.0.CR2</version>
    </dependency>

当我尝试手动运行集成测试时,它的工作情况..我没有收到任何异常,但是当我尝试使用构建项目时


mvn全新安装


我遇到以下异常,有人可以帮我吗

[2020-06-22 15:30:43,511] INFO [debezium-mysql-source|task-0] Writes to MySQL tables prevented for a total of 00:00:01.185 (io.debezium.connector.mysql.SnapshotReader:777)
[2020-06-22 15:30:43,513] ERROR [debezium-mysql-source|task-0] Failed due to error: Aborting snapshot due to error when last running 'UNLOCK TABLES': io.debezium.ddl.parser.mysql.generated.MySqlParser and io.debezium.ddl.parser.mysql.generated.MySqlParser$StringDataTypeContext disagree on InnerClasses attribute (io.debezium.connector.mysql.SnapshotReader:208)
io.debezium.ddl.parser.mysql.generated.MySqlParser and io.debezium.ddl.parser.mysql.generated.MySqlParser$StringDataTypeContext disagree on InnerClasses attribute
        at io.debezium.connector.mysql.AbstractReader.wrap(AbstractReader.java:230)
        at io.debezium.connector.mysql.AbstractReader.failed(AbstractReader.java:207)
        at io.debezium.connector.mysql.SnapshotReader.execute(SnapshotReader.java:831)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IncompatibleClassChangeError: io.debezium.ddl.parser.mysql.generated.MySqlParser and io.debezium.ddl.parser.mysql.generated.MySqlParser$StringDataTypeContext disagree on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method)
        at java.lang.Class.getDeclaringClass(Class.java:1235)
        at java.lang.Class.getEnclosingClass(Class.java:1277)
        at java.lang.Class.getCanonicalName(Class.java:1392)
        at io.debezium.connector.mysql.antlr.MySqlAntlrDdlParser.initializeDataTypeResolver(MySqlAntlrDdlParser.java:100)
        at io.debezium.antlr.AntlrDdlParser.parse(AntlrDdlParser.java:72)
        at io.debezium.connector.mysql.MySqlSchema.applyDdl(MySqlSchema.java:314)
        at io.debezium.connector.mysql.SnapshotReader.execute(SnapshotReader.java:488)
        ... 3 more
[2020-06-22 15:30:43,592] INFO [debezium-mysql-source|task-0] WorkerSourceTask{id=debezium-mysql-source-0} Committing offsets (org.apache.kafka.connect.runtime.WorkerSourceTask:478)

导入maven依赖项时我做错了什么吗?!

1 个答案:

答案 0 :(得分:0)

请确保以完全相同的版本导入所有Debezium工件。在这里,您可能有不同版本的 debezium-connector-mysql debezium-ddl-parser