noclassdeffounderror:导出jar后kafka/serializer/stringdecoder

t3psigkw  于 2021-06-08  发布在  Kafka
关注(0)|答案(1)|浏览(318)

我在同一个kafka/spark流媒体项目中导出了两个jar的两个应用程序。Kafka制作人的jar很好用。带有spark消费程序的jar返回以下错误:
noclassdeffounderror:kafka/serializer/stringdecoder
它们共享同一个dependencies文件夹,我显然已经将其导出,以便使jar在eclipse之外工作。
在eclipse中,它们都工作得很好。
我怎样才能解决这个问题?

p1tboqfb

p1tboqfb1#

在类路径中需要Kafka本身,而不仅仅是Kafka。在eclipse中是这样的,因为构建系统检索所有依赖项,并且eclipse与之集成。
我查看了spark streaming kafka的jar,它包含错误中命名的.class文件:org.apache.spark.streaming.kafka.kafkautils$.createstream(ka‌​fkautils公司。scala:55). 所以我不明白他为什么没来上课。
你的意思大概是 org.apache.spark.streaming.kafka.KafkaUtils$ ,但是当jvm尝试加载它时,它发现它需要其他类,包括 kafka.serializer.StringDecoder ,它不在那里。

相关问题