java汇合Kafka Avro序列化程序,服务器项目代码依赖?可验证属性?
如果我使用Maven依赖项(SBT格式):
"io.confluent" % "kafka-avro-serializer" % "3.1.1"
我总会得到警告:
[warn] Class kafka.utils.VerifiableProperties not found - continuing with a stub.
如果我编写调用AbstractKafkaAvroDeserializer::deserializerConfig(Map<String, ?> props)
的代码,我会得到一个编译器错误,因为它被AbstractKafkaAvroDeserializer::deserializerConfig(VerifiableProperties props)
重载,即使我没有使用第二个变量,我也会得到编译错误
kafka-avro-serializer
项目声明了对核心Kafka服务器库的Maven依赖,其作用域为“提供”:
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_${kafka.scala.version}</artifactId>
<version>${kafka.version}</version>
<scope>provided</scope>
</dependency>
我可以通过添加Maven依赖项(SBT表示法)来修复编译问题,包括警告和错误:
"org.apache.kafka" %% "kafka" % "0.10.1.1" % "provided",
这似乎是kafka-avro-serializer
项目中的一个bug。该项目不应该依赖卡夫卡服务器代码,即使提供了范围。我正在编写一个独立运行的Kafka Streams应用程序,希望使用Avro编码的消息。这个streams应用程序不应该对Kafka服务器代码库有依赖关系,即使提供了范围
共 (0) 个答案