Kafka Streams 集成测试 - 由于 Class 包不匹配而无法编译 - Apache Kafka、KafkaEmbedded

Kafka Streams Integration Testing - Unable to Compile due to Class Package Mismatch - Apache Kafka, KafkaEmbedded

我正在尝试为在 Confluent GitHub 中找到的集成测试 classes 编译代码 - GenericAvroIntegrationTest.java

我收到 classes SecurityProtocol 之一的编译时异常,该协议当前存在于 import org.apache.kafka.common.security.auth.SecurityProtocol; 中。当我使用 Maven 编译时,它抱怨说以下内容:

[105,82] cannot access org.apache.kafka.common.protocol.SecurityProtocol


class file for org.apache.kafka.common.protocol.SecurityProtocol not found

这个用在了KafkaEmbedded.javaclass。 Confluent GitHub 上的代码使用 org.apache.kafka.common.protocol.SecurityProtocol 包,但我使用的版本具有相同的 class 移动到我提到的另一个包:import org.apache.kafka.common.security.auth.SecurityProtocol。如果我恢复到 Confluent 使用的版本,我的代码可能无法工作(不确定我弄错了哪个依赖版本!:( )。我如何解决这个冲突?我如何找到错误引用的位置?

如果您查看 POM,您会看到

 <kafka.version>0.10.0.0-cp1</kafka.version>
 <confluent.version>3.0.0</confluent.version>

不确定这是否对您有帮助,因为您没有提到您使用的是哪个版本,但该代码不是最新代码的 Confluent Github。

尝试https://github.com/confluentinc/kafka-streams-examples/blob/5.0.0-post/src/test/java/io/confluent/examples/streams/GenericAvroIntegrationTest.java