IncompatableClassChangeError в парсере соединителя Debezium Mysql

У меня есть 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, или это что-то еще ..!


person Random Coder    schedule 22.06.2020    source источник


Ответы (1)


Убедитесь, что все артефакты Debezium загружены в одной и той же версии. Скорее всего, у вас разные версии debezium-connector-mysql и debezium-ddl-parser.

person Gunnar    schedule 22.06.2020
comment
не получилось..! Я пробовал с той же версией debezium-connector-mysql, debezium-core и debezium-ddl-parser, проблема все еще сохраняется. - person Random Coder; 23.06.2020