2015-06-11 4 views
2

Я пытаюсь включить модуль Kafka в свой проект.Как исправить NoClassDefFoundError с пользовательским производителем Kafka под Eclipse?

я добавил следующие банки как внешние библиотеки баночки в затмении, и также обновить build.xml, чтобы включить ссылки на баночку:

  • Кафка-клиенты-0.8.2.0.jar
  • kafka_2.10-0.8.2.0.jar
  • библиотека Scala-2.10.4.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

Для полной цели, причина, по которой я видела ошибку, состояла в том, что у меня не было банок, указанных в пути к классам. Однажды я добавил банки в classpath, он работал отлично.