Confluent Maven存储库无法正常工作?

gvd*_*vdm 18 maven avro apache-kafka confluent

我需要使用Confluent kafka-avro-serializerMaven工件.从官方指南,我应该将此存储库添加到我的Maven pom

<repository>
  <id>confluent</id>
  <url>http://packages.confluent.io/maven/</url>
</repository>
Run Code Online (Sandbox Code Playgroud)

问题是,当我得到以下响应时,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>
Run Code Online (Sandbox Code Playgroud)

实际上Maven没有找到神器

<dependency>
  <groupId>io.confluent</groupId>
  <artifactId>kafka-avro-serializer</artifactId>
  <version>3.1.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

你知道问题是什么吗?谢谢

Kev*_*vin 18

该文件可用,因为您可以直接下载它: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/时收到消息的原因

  • 请注意,这个仓库和https以及`https:// repo.maven.apache.org / maven2 /`一样可用。 (2认同)

小智 13

接缝 jar 文件已从 http url 中删除或 http url 不起作用。https url 对我有用。

<repositories>
<repository>
    <id>confluent</id>
    <url>https://packages.confluent.io/maven/</url>
</repository>
Run Code Online (Sandbox Code Playgroud)


suj*_*han 11

在 pom.xml 中添加以下几行对我有用。

<repositories>
    <repository>
        <id>confluent</id>
        <url>http://packages.confluent.io/maven/</url>
    </repository>
</repositories>
Run Code Online (Sandbox Code Playgroud)


Ghu*_*dyl 8

就像你我使用公司存储库(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>
Run Code Online (Sandbox Code Playgroud)

这样,工件解析也适用于confluents的工件.

不像代理repo那样整洁,但至少比手动下载和注册每个依赖项更麻烦.


Pra*_*p S 7

您可以在 Maven 设置文件中添加一个镜像,以从 Confluence 存储库中获取 jar 以及存储库配置。需要更改的是在 settings.xml 中添加镜像

   <mirror>
      <id>confluent</id>
      <mirrorOf>confluent</mirrorOf>
      <name>Nexus public mirror</name>
      <url>http://packages.confluent.io/maven/</url>
</mirror>
Run Code Online (Sandbox Code Playgroud)

在 Maven 设置的存储库部分添加此内容

<repository>
          <id>confluent</id>
          <url>http://packages.confluent.io/maven/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
</repository>
Run Code Online (Sandbox Code Playgroud)

  • 只是镜子对我来说效果很好,所以请投票。谢谢 (3认同)