Closed
Description
After upgrading to Spring Boot 2.4.0 with spring dependency-management 1.0.10.RELEASE on a java spring-kafka project I get the following error at runtime:
java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/JsonNode
at org.apache.kafka.common.requests.ApiVersionsRequest$Builder.<clinit>(ApiVersionsRequest.java:36) ~[kafka-clients-2.6.0.jar:na]
at org.apache.kafka.clients.NetworkClient.handleConnections(NetworkClient.java:910) ~[kafka-clients-2.6.0.jar:na]
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:555) ~[kafka-clients-2.6.0.jar:na]
at org.apache.kafka.clients.admin.KafkaAdminClient$AdminClientRunnable.processRequests(KafkaAdminClient.java:1293) ~[kafka-clients-2.6.0.jar:na]
at org.apache.kafka.clients.admin.KafkaAdminClient$AdminClientRunnable.run(KafkaAdminClient.java:1224) ~[kafka-clients-2.6.0.jar:na]
at java.base/java.lang.Thread.run(Thread.java:830) ~[na:na]
Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.JsonNode
Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.JsonNode
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602) ~[na:na]
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na]
After digging around I was able to add these two dependencies to my gradle file to get past the issue:
runtime 'com.fasterxml.jackson.core:jackson-databind:2.11.3'
runtime 'com.fasterxml.jackson.core:jackson-core:2.11.3'
I found that projects that additionally included the spring-boot-starter-web dependency didn't have the issue as the jackson dependencies were pulled in by that dependency.