Java 如何在Eclipse下使用自定义Kafka producer修复NoClassDefFoundError?
我试图在我的项目中包括卡夫卡模块 我在eclipse中添加了以下jar作为外部jar库,并更新了build.xml以包含对jar的引用:Java 如何在Eclipse下使用自定义Kafka producer修复NoClassDefFoundError?,java,eclipse,apache-kafka,kafka-consumer-api,Java,Eclipse,Apache Kafka,Kafka Consumer Api,我试图在我的项目中包括卡夫卡模块 我在eclipse中添加了以下jar作为外部jar库,并更新了build.xml以包含对jar的引用: 卡夫卡客户端-0.8.2.0.jar 卡夫卡2.10-0.8.2.0.jar scala-library-2.10.4.jar 我写了一个示例制作类 public class KafkaWriteRequestProducer extends Thread { private final String topic; private final KafkaP
- 卡夫卡客户端-0.8.2.0.jar
- 卡夫卡2.10-0.8.2.0.jar
- scala-library-2.10.4.jar
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);
}
}
公共类KafkaWriteRequestProducer扩展线程
{
私有字符串主题;
私人最终卡夫卡制作人;
私人最终书面请求书面请求;
公共KafkaWriteRequestProducer(字符串主题,WriterRequest WriterRequest)
{
this.topic=主题;
this.writeRequest=writeRequest;
//初始化Kafka Producer的配置
Properties props=新属性();
put(“bootstrap.servers”,“localhost:9092”);
props.put(“client.id”、“KafkaProducer”);
put(“key.serializer”、“org.apache.kafka.common.serialization.IntegerSerializer”);
put(“value.serializer”、“org.apache.kafka.common.serialization.ByteArraySerializer”);
制作人=新卡夫卡制作人(道具);
}
}
在我开始这个项目之前,我已经确保Zookeeper和Kafka代理正在运行。但是,当它试图实例化新的KafkaProducer()时,我看到了NoClassDefFoundError()
我错过了什么明显的东西吗 为了完成起见,我之所以看到错误是因为我没有在类路径中指定JAR。有一次,我将jar添加到类路径中,它工作得非常好