Skip to content

Debezium server 3.5 start failed, Caused by: java.lang.ClassNotFoundException: io.debezium.config.Configuration #1779

@gensmusic

Description

@gensmusic

Bug report

What Debezium connector do you use and what version?

debezium-server docker image with tag 3.5.0-cr1 And 3.5

the docker images were downloaded from https://quay.io/repository/debezium/server?tab=tags


What is the connector configuration?

example config


What is the captured database version and mode of deployment?

E.g. on-premises, with a specific cloud provider, etc.


What behavior do you expect?

The debezium start ok


What behavior do you see?

       __       __                 _                 
  ____/ /___   / /_   ___  ____   (_)__  __ ____ ___ 
 / __  // _ \ / __ \ / _ \/_  /  / // / / // __ `__ \
/ /_/ //  __// /_/ //  __/ / /_ / // /_/ // / / / / /
\__,_/ \___//_.___/ \___/ /___//_/ \__,_//_/ /_/ /_/ 
                                                     


                            Powered by Quarkus 3.27.1
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) ---------------------------------------------------------------------
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) Legacy REST API date formats enabled (this is currently the default).
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) 
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) For maximum compatibility and to ease upgrades from older versions
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) of Registry, the date format used in the REST API is not compliant
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) with OpenAPI standards (due to a bug in older versions).  Please
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) make sure you upgrade all of your client applications to use the
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) latest client version.  The next release will fix the date format
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) bug, which will result in older clients no longer being compatible
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) with the REST API.
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) 
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) If you would like to fix the date format bug in THIS version of
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) Registry (great!) please set the following ENV variable + value:
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) 
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) REGISTRY_APIS_V2_DATE_FORMAT=yyyy-MM-dd'T'HH:mm:ss'Z'
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) 
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) Doing this will result in a REST API that is OpenAPI compliant, but
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) please remember to upgrade all your client applications first!
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) ---------------------------------------------------------------------
2026-04-01 21:25:41,564 WARN  [io.qua.config] (main) The "quarkus.log.console.json" config property is deprecated and should not be used anymore.
2026-04-01 21:25:41,599 WARN  [io.qua.config] (main) Unrecognized configuration file /debezium/config/application.properties.example found; Please, check if your are providing the proper extension to load the file
2026-04-01 21:25:41,599 WARN  [io.qua.config] (main) Unrecognized configuration file /debezium/config/application.yaml.example found; Please, check if your are providing the proper extension to load the file
2026-04-01 21:25:41,599 WARN  [io.qua.config] (main) Unrecognized configuration file /debezium/config/application.properties.cassandra.redis.example found; Please, check if your are providing the proper extension to load the file
2026-04-01 21:25:41,649 INFO  [io.deb.ser.BaseChangeConsumer] (main) Using 'io.debezium.server.BaseChangeConsumer$$Lambda/0x00000030013acd48@5dc769f9' stream name mapper
2026-04-01 21:25:41,704 INFO  [io.deb.ser.nat.jet.NatsJetStreamChangeConsumer] (main) Creating stream with config: {"name":"DebeziumStream","description":"The debezium stream, contains messages which are coming from debezium","subjects":["astersea","astersea.>"],"retention":"limits","storage":"file","num_replicas":1,"discard":"old"}
2026-04-01 21:25:41,731 INFO  [io.deb.ser.nat.jet.NatsJetStreamChangeConsumer] (main) Async publishing enabled with timeout: 5000ms
2026-04-01 21:25:41,732 INFO  [io.deb.ser.ChangeConsumerFactory] (main) Consumer 'io.debezium.server.nats.jetstream.NatsJetStreamChangeConsumer' instantiated
2026-04-01 21:25:41,753 INFO  [io.deb.ser.nat.jet.NatsJetStreamChangeConsumer] (main) NATS connection closed.
2026-04-01 21:25:41,777 ERROR [io.qua.run.Application] (main) Failed to start application: java.lang.RuntimeException: Failed to start quarkus
        at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
        at io.quarkus.runtime.Application.start(Application.java:101)
        at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:119)
        at io.quarkus.runtime.Quarkus.run(Quarkus.java:80)
        at io.quarkus.runtime.Quarkus.run(Quarkus.java:51)
        at io.quarkus.runtime.Quarkus.run(Quarkus.java:144)
        at io.debezium.server.Main.main(Main.java:15)
Caused by: java.lang.NoClassDefFoundError: io/debezium/config/Configuration
        at io.debezium.embedded.ConverterBuilder.using(ConverterBuilder.java:62)
        at io.debezium.embedded.async.AsyncEmbeddedEngine$AsyncEngineBuilder.using(AsyncEmbeddedEngine.java:970)
        at io.debezium.server.DebeziumServer.start(DebeziumServer.java:156)
        at io.debezium.server.DebeziumServer_Bean.doCreate(Unknown Source)
        at io.debezium.server.DebeziumServer_Bean.create(Unknown Source)
        at io.debezium.server.DebeziumServer_Bean.create(Unknown Source)
        at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:119)
        at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:38)
        at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:35)
        at io.quarkus.arc.generator.Default_jakarta_enterprise_context_ApplicationScoped_ContextInstances.c5(Unknown Source)
        at io.quarkus.arc.generator.Default_jakarta_enterprise_context_ApplicationScoped_ContextInstances.computeIfAbsent(Unknown Source)
        at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:35)
        at io.quarkus.arc.impl.ClientProxies.getApplicationScopedDelegate(ClientProxies.java:23)
        at io.debezium.server.DebeziumServer_ClientProxy.arc$delegate(Unknown Source)
        at io.debezium.server.DebeziumServer_ClientProxy.arc_contextualInstance(Unknown Source)
        at io.debezium.server.DebeziumServer_Observer_Synthetic_g_8g8OMFYu2rwY60Ddg-Rc9FU6g.notify(Unknown Source)
        at io.quarkus.arc.impl.EventImpl$Notifier.notifyObservers(EventImpl.java:365)
        at io.quarkus.arc.impl.EventImpl$Notifier.notify(EventImpl.java:347)
        at io.quarkus.arc.impl.EventImpl.fire(EventImpl.java:81)
        at io.quarkus.arc.runtime.ArcRecorder.fireLifecycleEvent(ArcRecorder.java:163)
        at io.quarkus.arc.runtime.ArcRecorder.handleLifecycleEvents(ArcRecorder.java:114)
        at io.quarkus.runner.recorded.LifecycleEventsBuildStep$startupEvent1144526294.deploy_0(Unknown Source)
        at io.quarkus.runner.recorded.LifecycleEventsBuildStep$startupEvent1144526294.deploy(Unknown Source)
        ... 7 more
Caused by: java.lang.ClassNotFoundException: io.debezium.config.Configuration
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
        ... 30 more

       __       __                 _                 
  ____/ /___   / /_   ___  ____   (_)__  __ ____ ___ 
 / __  // _ \ / __ \ / _ \/_  /  / // / / // __ `__ \
/ /_/ //  __// /_/ //  __/ / /_ / // /_/ // / / / / /
\__,_/ \___//_.___/ \___/ /___//_/ \__,_//_/ /_/ /_/ 
                                                     


                            Powered by Quarkus 3.27.1
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) ---------------------------------------------------------------------
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) Legacy REST API date formats enabled (this is currently the default).
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) 
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) For maximum compatibility and to ease upgrades from older versions
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) of Registry, the date format used in the REST API is not compliant
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) with OpenAPI standards (due to a bug in older versions).  Please
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) make sure you upgrade all of your client applications to use the
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) latest client version.  The next release will fix the date format
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) bug, which will result in older clients no longer being compatible
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) with the REST API.
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) 
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) If you would like to fix the date format bug in THIS version of
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) Registry (great!) please set the following ENV variable + value:
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) 
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) REGISTRY_APIS_V2_DATE_FORMAT=yyyy-MM-dd'T'HH:mm:ss'Z'
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) 
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) Doing this will result in a REST API that is OpenAPI compliant, but
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) please remember to upgrade all your client applications first!
2026-04-01 21:25:40,947 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) ---------------------------------------------------------------------
2026-04-01 21:25:41,564 WARN  [io.qua.config] (main) The "quarkus.log.console.json" config property is deprecated and should not be used anymore.
2026-04-01 21:25:41,599 WARN  [io.qua.config] (main) Unrecognized configuration file /debezium/config/application.properties.example found; Please, check if your are providing the proper extension to load the file
2026-04-01 21:25:41,599 WARN  [io.qua.config] (main) Unrecognized configuration file /debezium/config/application.yaml.example found; Please, check if your are providing the proper extension to load the file
2026-04-01 21:25:41,599 WARN  [io.qua.config] (main) Unrecognized configuration file /debezium/config/application.properties.cassandra.redis.example found; Please, check if your are providing the proper extension to load the file
2026-04-01 21:25:41,649 INFO  [io.deb.ser.BaseChangeConsumer] (main) Using 'io.debezium.server.BaseChangeConsumer$$Lambda/0x00000030013acd48@5dc769f9' stream name mapper
2026-04-01 21:25:41,704 INFO  [io.deb.ser.nat.jet.NatsJetStreamChangeConsumer] (main) Creating stream with config: {"name":"DebeziumStream","description":"The debezium stream, contains messages which are coming from debezium","subjects":["astersea","astersea.>"],"retention":"limits","storage":"file","num_replicas":1,"discard":"old"}
2026-04-01 21:25:41,731 INFO  [io.deb.ser.nat.jet.NatsJetStreamChangeConsumer] (main) Async publishing enabled with timeout: 5000ms
2026-04-01 21:25:41,732 INFO  [io.deb.ser.ChangeConsumerFactory] (main) Consumer 'io.debezium.server.nats.jetstream.NatsJetStreamChangeConsumer' instantiated
2026-04-01 21:25:41,753 INFO  [io.deb.ser.nat.jet.NatsJetStreamChangeConsumer] (main) NATS connection closed.
2026-04-01 21:25:41,777 ERROR [io.qua.run.Application] (main) Failed to start application: java.lang.RuntimeException: Failed to start quarkus
        at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
        at io.quarkus.runtime.Application.start(Application.java:101)
        at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:119)
        at io.quarkus.runtime.Quarkus.run(Quarkus.java:80)
        at io.quarkus.runtime.Quarkus.run(Quarkus.java:51)
        at io.quarkus.runtime.Quarkus.run(Quarkus.java:144)
        at io.debezium.server.Main.main(Main.java:15)
Caused by: java.lang.NoClassDefFoundError: io/debezium/config/Configuration
        at io.debezium.embedded.ConverterBuilder.using(ConverterBuilder.java:62)
        at io.debezium.embedded.async.AsyncEmbeddedEngine$AsyncEngineBuilder.using(AsyncEmbeddedEngine.java:970)
        at io.debezium.server.DebeziumServer.start(DebeziumServer.java:156)
        at io.debezium.server.DebeziumServer_Bean.doCreate(Unknown Source)
        at io.debezium.server.DebeziumServer_Bean.create(Unknown Source)
        at io.debezium.server.DebeziumServer_Bean.create(Unknown Source)
        at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:119)
        at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:38)
        at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:35)
        at io.quarkus.arc.generator.Default_jakarta_enterprise_context_ApplicationScoped_ContextInstances.c5(Unknown Source)
        at io.quarkus.arc.generator.Default_jakarta_enterprise_context_ApplicationScoped_ContextInstances.computeIfAbsent(Unknown Source)
        at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:35)
        at io.quarkus.arc.impl.ClientProxies.getApplicationScopedDelegate(ClientProxies.java:23)
        at io.debezium.server.DebeziumServer_ClientProxy.arc$delegate(Unknown Source)
        at io.debezium.server.DebeziumServer_ClientProxy.arc_contextualInstance(Unknown Source)
        at io.debezium.server.DebeziumServer_Observer_Synthetic_g_8g8OMFYu2rwY60Ddg-Rc9FU6g.notify(Unknown Source)
        at io.quarkus.arc.impl.EventImpl$Notifier.notifyObservers(EventImpl.java:365)
        at io.quarkus.arc.impl.EventImpl$Notifier.notify(EventImpl.java:347)
        at io.quarkus.arc.impl.EventImpl.fire(EventImpl.java:81)
        at io.quarkus.arc.runtime.ArcRecorder.fireLifecycleEvent(ArcRecorder.java:163)
        at io.quarkus.arc.runtime.ArcRecorder.handleLifecycleEvents(ArcRecorder.java:114)
        at io.quarkus.runner.recorded.LifecycleEventsBuildStep$startupEvent1144526294.deploy_0(Unknown Source)
        at io.quarkus.runner.recorded.LifecycleEventsBuildStep$startupEvent1144526294.deploy(Unknown Source)
        ... 7 more
Caused by: java.lang.ClassNotFoundException: io.debezium.config.Configuration
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
        ... 30 more

Do you see the same behaviour using the latest released Debezium version?

Ideally, also verify with the latest Alpha/Beta/CR version.

<Your answer>


Do you have the connector logs, ideally from start till finish?

You might be asked later to provide DEBUG/TRACE level log.

<Your answer>


How to reproduce the issue using our tutorial deployment?

<Your answer>

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    To triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions