Confluent Maven 存储库不工作?
Confluent Maven repository not working?
我需要使用 Confluent kafka-avro-serializer
Maven 神器。从 official guide 我应该将这个存储库添加到我的 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
您可以尝试将 -U 标志添加到您的 maven 命令以强制下载缓存文件。
存储库的根目录不可浏览,这就是您在浏览 http://packages.confluent.io/maven/
时收到消息的原因
尝试将 Artifactory 连接到 Confluent Maven 存储库时,您必须将 Artifactory 中的存储库 URL 设置为 http://packages.confluent.io/maven
或 https://packages.confluent.io/maven
(这两种方案似乎都可以正常工作) .令人困惑的部分是,当您要求 Artifactory 测试 URL 时,它将失败并显示消息 "Input may not be null"。您也无法浏览 Artifactory 中的存储库。但是,不管这些问题如何,当客户端请求时,工件将被下载并缓存。
您可以在您的 maven 设置文件中添加一个镜像,以从 confluent repo 中获取 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>
就像你一样,我使用公司存储库 (Sonatype Nexus) 并且无法代理 confluent 的存储库。
然后我更改了我的 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>
这样,工件解析也适用于合流的工件。
不像代理 repo 那样整洁,但至少比手动下载和注册每个依赖项更简单。
需要在 pom.xml
中添加 confluent 存储库
请在 pom.xml
中添加以下行
<repositories>
<repository>
<id>confluent</id>
<url>https://packages.confluent.io/maven/</url>
</repository>
</repositories>
在 Maven 项目的 POM 文件中添加 confluent 存储库。
在下面的 build.sbt 中用于 SBT 项目
resolvers += "confluent" at "https://packages.confluent.io/maven/"
从 http url 或 http url 中删除的 seams jar 文件不起作用。 https url 对我有用。
<repositories>
<repository>
<id>confluent</id>
<url>https://packages.confluent.io/maven/</url>
</repository>
我需要使用 Confluent kafka-avro-serializer
Maven 神器。从 official guide 我应该将这个存储库添加到我的 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
您可以尝试将 -U 标志添加到您的 maven 命令以强制下载缓存文件。
存储库的根目录不可浏览,这就是您在浏览 http://packages.confluent.io/maven/
时收到消息的原因尝试将 Artifactory 连接到 Confluent Maven 存储库时,您必须将 Artifactory 中的存储库 URL 设置为 http://packages.confluent.io/maven
或 https://packages.confluent.io/maven
(这两种方案似乎都可以正常工作) .令人困惑的部分是,当您要求 Artifactory 测试 URL 时,它将失败并显示消息 "Input may not be null"。您也无法浏览 Artifactory 中的存储库。但是,不管这些问题如何,当客户端请求时,工件将被下载并缓存。
您可以在您的 maven 设置文件中添加一个镜像,以从 confluent repo 中获取 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>
就像你一样,我使用公司存储库 (Sonatype Nexus) 并且无法代理 confluent 的存储库。
然后我更改了我的 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>
这样,工件解析也适用于合流的工件。
不像代理 repo 那样整洁,但至少比手动下载和注册每个依赖项更简单。
需要在 pom.xml
中添加 confluent 存储库
请在 pom.xml
<repositories>
<repository>
<id>confluent</id>
<url>https://packages.confluent.io/maven/</url>
</repository>
</repositories>
在 Maven 项目的 POM 文件中添加 confluent 存储库。
在下面的 build.sbt 中用于 SBT 项目
resolvers += "confluent" at "https://packages.confluent.io/maven/"
从 http url 或 http url 中删除的 seams jar 文件不起作用。 https url 对我有用。
<repositories>
<repository>
<id>confluent</id>
<url>https://packages.confluent.io/maven/</url>
</repository>