Je dois utiliser l'artefact Confluent kafka-avro-serializer
Maven. À partir du guide officiel je devrais ajouter ce dépôt à mon pom Maven
<repository>
<id>confluent</id>
<url>http://packages.confluent.io/maven/</url>
</repository>
Le problème est que l'URL http://packages.confluent.io/maven/ ne semble pas fonctionner pour le moment car je reçois la réponse ci-dessous.
<Error>
<Code>NoSuchKey</Code>
<Message>The specified key does not exist.</Message>
<Key>maven/</Key>
<RequestId>15E287D11E5D4DFA</RequestId>
<HostId>
QVr9lCF0y3SrQoa1Z0jDWtmxD3eJz1gAEdivauojVJ+Bexb2gB6JsMpnXc+JjF95i082hgSLJSM=
</HostId>
</Error>
En fait, Maven ne trouve pas l'artefact
<dependency>
<groupId>io.confluent</groupId>
<artifactId>kafka-avro-serializer</artifactId>
<version>3.1.1</version>
</dependency>
Savez-vous quel pourrait être le problème? Merci
Le fichier est disponible car vous pouvez le télécharger si vous y accédez directement: http://packages.confluent.io/maven/io/confluent/kafka-avro-serializer/3.1.1/kafka- avro-serializer-3.1.1.jar
Vous pouvez essayer d'ajouter l'indicateur -U à votre commande maven pour forcer le téléchargement des fichiers mis en cache.
La racine du référentiel n’est pas navigable, c’est pourquoi vous recevez le message lorsque vous naviguez sur http://packages.confluent.io/maven/
Tout comme vous, j'utilise un référentiel d'entreprise (Sonatype Nexus) et je n'ai pas été en mesure de fournir un proxy au référentiel du confluent.
Ensuite, j'ai modifié mon fichier maven settings.xml pour exclure les confluents du référentiel mis en miroir:
<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>
De cette façon, la résolution des artefacts fonctionne également pour les artefacts de confluents.
Pas aussi ordonné que de remplacer le référentiel par proxy, mais au moins moins encombrant que de télécharger et d’enregistrer manuellement chaque dépendance.
Lorsque vous essayez de connecter Artifactory au référentiel Maven Confluent, vous devez définir l'URL du référentiel dans Artifactory sur http://packages.confluent.io/maven
ou https://packages.confluent.io/maven
(les deux schémas semblent fonctionner correctement). La partie déroutante est que lorsque vous demandez à Artifactory de tester cette URL, le message "L'entrée peut ne pas être nulle" échouera. Vous ne pouvez pas non plus parcourir le référentiel dans Artifactory. Toutefois, quels que soient ces problèmes, les artefacts sont téléchargés et mis en cache lorsque les clients les demandent.
Vous pouvez ajouter un miroir dans votre fichier de paramètres Maven pour récupérer les fichiers jar du référentiel confluent, ainsi que la configuration du référentiel . Les modifications nécessaires sont Ajouter un miroir dans settings.xml
<mirror>
<id>confluent</id>
<mirrorOf>confluent</mirrorOf>
<name>Nexus public mirror</name>
<url>http://packages.confluent.io/maven/</url>
</mirror>
Dans la section référentiel des paramètres maven, ajoutez ceci
<repository>
<id>confluent</id>
<url>http://packages.confluent.io/maven/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>