3

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 サーバー コード ベースに依存するべきではありません。

4

0 に答える 0