我想在我的项目中包含Kafka模块。
我在eclipse中添加了以下jar作为外部jar库,并且还更新了build.xml以包含对jar的引用:
我写了一个示例Producer类
public class KafkaWriteRequestProducer extends Thread
{
private final String topic;
private final KafkaProducer<Integer, byte[]> producer;
private final WriteRequest writeRequest;
public KafkaWriteRequestProducer(String topic, WriteRequest writeRequest)
{
this.topic = topic;
this.writeRequest = writeRequest;
//Initialize the config for Kafka Producer
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("client.id", "KafkaProducer");
props.put("key.serialzer", "org.apache.kafka.common.serialization.IntegerSerializer");
props.put("value.serializer", "org.apache.kafka.common.serialization.ByteArraySerializer");
producer = new KafkaProducer<Integer, byte[]>(props);
}
}
在开始这个项目之前,我确保Zookeeper和Kafka经纪人正在运行。但是,我在尝试实例化NoClassDefFoundError()
时看到new KafkaProducer()
。
我错过了一些明显的东西吗?
答案 0 :(得分:0)
为了完成,我看到错误的原因是因为我没有在类路径中指定的jar。有一次,我将罐子添加到类路径中,它运行得非常好。