线程“主”中的异常java.lang.NoSuchMethodError:org.apache.pulsar.client.api.PulsarClient.getPartitionsForTopic

时间:2019-03-27 09:31:30

标签: java apache-kafka apache-pulsar pulsar

我正在尝试通过Java实现“适用于Apache Kafka的Pulsar适配器”,并且正在跟踪pulsar apache网站上的同一文档 https://pulsar.apache.org/docs/en/adaptors-kafka/

我正在按照github示例进行实施 https://github.com/apache/pulsar/tree/master/pulsar-client-kafka-compat/pulsar-client-kafka-tests/src/test/java/org/apache/pulsar/client/kafka/compat/examples

我已在pom.xml文件中添加了MavenDependecny

<dependency>
    <groupId>org.apache.pulsar</groupId>
    <artifactId>pulsar-client-kafka</artifactId>
    <version>2.3.0</version>
</dependency>

maven构建成功后,将相同的文件放入docker映像内的目标位置,并在并行窗口中运行ConsumerExample.java和ProducerExample.java。

当我运行ProducerExample.java类时,我将面对Exeption。见下文

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.pulsar.client.api.PulsarClient.getPartitionsForTopic(Ljava/lang/String;)Ljava/util/concurrent/CompletableFuture;
    at org.apache.kafka.clients.producer.KafkaProducer.readPartitionsInfo(KafkaProducer.java:237)
    at org.apache.kafka.clients.producer.KafkaProducer.createNewProducer(KafkaProducer.java:229)
    at org.apache.kafka.clients.producer.KafkaProducer.lambda$send$1(KafkaProducer.java:161)
    at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)
    at org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:161)
    at org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:153)
    at pulsar_producer_consumer.pulsar_producer_consumer.ProducerExample.main(ProducerExample.java:26)

有什么解决办法?

0 个答案:

没有答案