错误“类型kafkaconsumer不是通用的,无法使用参数进行参数化”

时间:2018-07-27 14:07:26

标签: java apache-kafka

我想实例化KafkaProducer时遇到问题:

Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("acks", "all");
props.put("retries", 0);
props.put("batch.size", 16384);
props.put("linger.ms", 1);
props.put("buffer.memory", 33554432);
props.put("key.serializer","org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer","org.apache.kafka.common.serialization.StringSerializer");

Producer<String, String> producer = new KafkaProducer<>(props);
  

kafkaconsumer类型不是通用类型,无法使用参数对其进行参数化

我不理解该错误,因为我遵循的是官方的kafka javadoc,在其中它们与我的依赖项完全相同,并且具有相同的依赖性:

https://kafka.apache.org/11/javadoc/index.html?org/apache/kafka/clients/producer/KafkaProducer.html

有人可以向我解释这个笑话吗?

2 个答案:

答案 0 :(得分:1)

我也遇到同样的问题。但是过了一会儿,我意识到我给了类名'KafkaProducer'。更改我的班级名称后,成功编译了相同的代码。 希望这对您有所帮助。您可以张贴带有班级名称和导入的完整班级代码吗?

当我进一步查找原始的KafkaProducer类定义时,它是一个泛型类。有关更多信息,您可以检查:https://kafka.apache.org/10/javadoc/index.html?org/apache/kafka/clients/producer/KafkaProducer.html

答案 1 :(得分:0)

包括以下依赖

<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.13</artifactId>
<version>2.5.1</version>
</dependency>