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. 

Reply via email to