Confluentを使用する必要がありますkafka-avro-serializer
Mavenアーティファクト。 公式ガイド から、このリポジトリをMaven pomに追加する必要があります
<repository>
<id>confluent</id>
<url>http://packages.confluent.io/maven/</url>
</repository>
問題は、URL http://packages.confluent.io/maven/ が以下の応答を受け取ったため、現時点では機能していないように見えることです。
<Error>
<Code>NoSuchKey</Code>
<Message>The specified key does not exist.</Message>
<Key>maven/</Key>
<RequestId>15E287D11E5D4DFA</RequestId>
<HostId>
QVr9lCF0y3SrQoa1Z0jDWtmxD3eJz1gAEdivauojVJ+Bexb2gB6JsMpnXc+JjF95i082hgSLJSM=
</HostId>
</Error>
実際、Mavenはアーティファクトを見つけられません
<dependency>
<groupId>io.confluent</groupId>
<artifactId>kafka-avro-serializer</artifactId>
<version>3.1.1</version>
</dependency>
問題が何であるかを知っていますか?ありがとうございました
直接アクセスするとダウンロードできるため、このファイルは使用可能です。 http://packages.confluent.io/maven/io/confluent/kafka-avro-serializer/3.1.1/kafka-avro -serializer-3.1.1.jar
キャッシュファイルのダウンロードを強制するには、mavenコマンドに-Uフラグを追加してみてください。
リポジトリのルートは参照可能ではないため、 http://packages.confluent.io/maven/ にアクセスするとメッセージが表示されます。
あなたと同じように、私は会社のリポジトリ(Sonatype Nexus)を使用していますが、コンフルエントのリポジトリをプロキシできませんでした。
次に、maven settings.xmlを変更して、ミラーリポジトリからのコンフルエントを除外しました。
<mirrors>
<mirror>
<id>nexus</id>
<mirrorOf>*,!confluent</mirrorOf> <!-- mirror anything but confluent as Nexus cannot proxy it -->
<url>repository.company.local/nexus/content/groups/public</url>
</mirror>
</mirrors>
...
<repositories>
...
<repository>
<id>confluent</id>
<url>http://packages.confluent.io/maven/</url>
</repository>
</repositories>
このように、アーティファクトの解決は、コンフルエントのアーティファクトに対しても機能します。
リポジトリをプロキシするほどきれいではありませんが、少なくとも各依存関係を手動でダウンロードして登録するより面倒ではありません。
ArtifactoryをConfluent Mavenリポジトリに接続しようとする場合、ArtifactoryのレポURLをhttp://packages.confluent.io/maven
またはhttps://packages.confluent.io/maven
(両方のスキームがうまくいくようです)。紛らわしい部分は、ArtifactoryにそのURLをテストするように依頼すると、「入力はnullではない可能性があります」というメッセージで失敗することです。 Artifactoryでリポジトリを参照することもできません。ただし、これらの問題に関係なく、クライアントが要求したときにアーティファクトがダウンロードおよびキャッシュされます。
Maven設定ファイルにミラーを追加して、リポジトリ構成とともにコンフルエントリポジトリからjarを取得できます。必要な変更は、settings.xmlにミラーを追加することです
<mirror>
<id>confluent</id>
<mirrorOf>confluent</mirrorOf>
<name>Nexus public mirror</name>
<url>http://packages.confluent.io/maven/</url>
</mirror>
Maven設定のリポジトリセクションにこれを追加します
<repository>
<id>confluent</id>
<url>http://packages.confluent.io/maven/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>