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)
発生します。また、2 番目のバリアントを使用していないにもかかわらず、コンパイル エラーが発生します。
プロジェクトは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
これはプロジェクトのバグのようです。そのプロジェクトは、提供されたスコープであっても、Kafka サーバー コードに依存するべきではありません。スタンドアロンで実行され、Avro でエンコードされたメッセージを操作したい Kafka Streams アプリを作成しています。このストリーム アプリは、指定されたスコープであっても、Kafka サーバー コード ベースに依存するべきではありません。