2

プロジェクトに Kafka モジュールを含めようとしています。

次の jar を eclipse の外部 jar ライブラリとして追加し、build.xml を更新して jar への参照を含めました。

  • kafka-clients-0.8.2.0.jar
  • kafka_2.10-0.8.2.0.jar
  • scala-library-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()

明らかな何かが欠けていますか?

4

1 に答える 1

0

完了するために、エラーが表示された理由は、クラスパスで指定された jar がなかったためです。jar をクラスパスに追加すると、問題なく動作しました。

于 2015-06-16T01:50:51.420 に答える