Репозиторий Confluent Maven не работает?

Мне нужно использовать артефакт 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>

Вы знаете, в чем может быть проблема? Спасибо


person gvdm    schedule 19.04.2017    source источник


Ответы (6)


Файл доступен, так как вы можете скачать его, перейдя к нему напрямую: http://packages.confluent.io/maven/io/confluent/kafka-avro-serializer/3.1.1/kafka-avro-serializer-3.1.1.jar

Вы можете попробовать добавить флаг -U в свою команду maven, чтобы принудительно загрузить кешированные файлы.

Корневой каталог репо недоступен для просмотра, поэтому вы получаете сообщение при просмотре пакетов http://packages.confluent.io/maven/

person Kevin    schedule 19.04.2017
comment
Спасибо @Kevin. Я использую центральное зеркало Artifactory, поэтому я должен добавить репозиторий Confluent к зеркальным репозиториям в Artifactory. Но при попытке добавить выдает ошибку Input may not be null. Как я могу позволить Artifactory разрешить артефакты Confluent, если репозиторий недоступен для просмотра? - person gvdm; 19.04.2017
comment
Под не просматриваемым я подразумеваю через браузер, который мы делаем, что заставляет нас догадываться о содержимом, вместо того, чтобы проверять его визуально. При добавлении в Artifactory: вы должны ввести maven в качестве ключа репозитория и http: // packages.confluent.io/ в качестве URL-адреса (игнорируйте пробел, иначе он не покажет http) - person Kevin; 19.04.2017
comment
Я пробовал добавить только http://packages.confluent.io/, и ошибка не появляется, но артефакт из нее не извлекается. - person gvdm; 19.04.2017
comment
Я думаю, что артефакты извлекаются только тогда, когда вы их вызываете, поэтому теперь вы должны иметь возможность добавить свой артефактор в качестве репозитория (вместо coonfluent), и ваша зависимость должна быть загружена через ваш артефактор (и тогда будет видна там) - person Kevin; 19.04.2017
comment
Обратите внимание, что это репо доступно по https, а также https://repo.maven.apache.org/maven2/ - person Brice; 30.01.2018
comment
Эта команда отлично работает: spark-shell --packages org.apache.spark:spark-avro_2.11:2.4.4 --repositories http://packages.confluent.io/maven/ --packages io.confluent:kafka-avro-serializer:5.2.2 - person AmirMohammad Dadkhah; 02.02.2020

Как и вы, я использую репозиторий компании (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>

Таким образом, разрешение артефактов работает и для артефактов слияния.

Не так аккуратно, как проксирование репозитория, но, по крайней мере, менее громоздко, чем загрузка и регистрация каждой зависимости вручную.

person Ghurdyl    schedule 24.04.2018
comment
Просто дополнительная помощь в том, что зеркало должно быть настроено в conf / settings.xml m2. И конфлюэнтная зависимость должна быть скорректирована в модуле, в котором она указана. Мое дополнительное требование заключалось в том, чтобы указать его на локальный .m2, поэтому сливающийся URL-адрес я поместил как: file: /// c / Users / ‹login› /.m2/repository/. Надеюсь, это поможет кому-то искать, чтобы указать на локальную папку. - person Kabeer Ahmed; 13.12.2018

Добавление следующих строк в pom.xml сработало для меня.

<repositories>
    <repository>
        <id>confluent</id>
        <url>http://packages.confluent.io/maven/</url>
    </repository>
</repositories>
person sujithramanathan    schedule 28.03.2020
comment
это помогло моему URL-адресу ‹url› packages.confluent.io/ › - person ronit; 26.05.2021

При попытке подключить Artifactory к репозиторию Confluent Maven вы должны установить URL-адрес репо в Artifactory как http://packages.confluent.io/maven или https://packages.confluent.io/maven (обе схемы работают нормально). Непонятная часть состоит в том, что когда вы просите Artifactory проверить этот URL-адрес, он завершится ошибкой с сообщением «Input may not be null». Вы также не можете просматривать репозиторий в Artifactory. Однако, независимо от этих проблем, артефакты будут загружаться и кэшироваться по запросу клиентов.

person rndgstn    schedule 21.09.2017
comment
Привет @rndgstn, моя проблема в том, что репозиторий Kafka не может быть проксирован репозиторием Artifactory компании, поэтому в нашей компании мы не можем использовать Artifacotry для доступа также к репозиторию Kafka. На данный момент мы вручную загружаем артефакты и загружаем их в репозиторий компании. Это не идеальное решение, поэтому надеюсь, что в будущем его можно будет проксировать. - person gvdm; 25.09.2017
comment
У нас он работает нормально. Какую ошибку вы видите, когда клиент делает запрос? - person rndgstn; 25.09.2017
comment
FWIW, схема http работала для меня как прокси-репозиторий с Sonatype Nexus. Схема https не сработала. - person user944849; 12.06.2018

Вы можете добавить зеркало в файл настроек maven для извлечения банок из конфлюентного репо вместе с конфигурацией репозитория. Необходимые изменения: Добавить зеркало в 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>
person Pradeep S    schedule 14.11.2017
comment
у меня просто зеркало работало нормально, так что голосуйте за. Спасибо - person bigbadmouse; 02.04.2019

Добавление объединенного репозитория работало в файле POM для проекта Maven.

Используйте ниже в build.sbt для проектов SBT

resolvers += "confluent" at "https://packages.confluent.io/maven/"
person Venkat    schedule 11.03.2021