Hi, Flink developers, Does anyone encounter the following error?
java.lang.NoClassDefFoundError: org/apache/kafka/common/serialization/ByteArrayDeserializer at org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer.setDeserializer(FlinkKafkaConsumer.java:322) at org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer.<init>(FlinkKafkaConsumer.java:223) at org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer.<init>(FlinkKafkaConsumer.java:154) at org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer.<init>(FlinkKafkaConsumer.java:139) at org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer.<init>(FlinkKafkaConsumer.java:108) If I put kafka-clients jar into Flink's lib/, Flink can find it. But if I assembly it into the application jar, Flink cannot find it. But based on what I read from Flink doc, Flink does "child-first" resolution on classes. Why it cannot find kafka classes if they are in application jar?? I examined the application jar content. It includes these kafka classes actually. I tested it with K8S session and job clusters on Flink built from current source. Both have the same error.