Confluent Maven repository not working?

后端 未结 5 779
太阳男子
太阳男子 2020-12-29 23:08

I need to use the Confluent kafka-avro-serializer Maven artifact. From the official guide I should add this repository to my Maven pom



        
相关标签:
5条回答
  • 2020-12-29 23:18

    The file is available, since you can download it if you go to it directly: http://packages.confluent.io/maven/io/confluent/kafka-avro-serializer/3.1.1/kafka-avro-serializer-3.1.1.jar

    You could try adding the -U flag to your maven command to force download of cached files.

    The root of the repo isn't browsable which is why you are getting the message when browsing to http://packages.confluent.io/maven/

    0 讨论(0)
  • 2020-12-29 23:22

    Adding the below lines in the pom.xml worked for me.

    <repositories>
        <repository>
            <id>confluent</id>
            <url>http://packages.confluent.io/maven/</url>
        </repository>
    </repositories>
    
    0 讨论(0)
  • 2020-12-29 23:28

    Just like you I use a company repository (Sonatype Nexus) and was not able to proxy the confluent's repository.

    Then I changed my maven settings.xml to exclude confluent form the mirrored repository:

        <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>
    

    This way, artifacts resolution works for confluents' artifacts as well.

    Not as neat as proxying the repo but at least less cumbersome than downloading and registering each dependency manually.

    0 讨论(0)
  • 2020-12-29 23:38

    When trying to connect Artifactory to the Confluent Maven repository you have to set the repo URL in Artifactory to be either http://packages.confluent.io/maven or https://packages.confluent.io/maven (both schemes seem to work fine). The confusing part is that when you ask Artifactory to test that URL it will fail with the message "Input may not be null". You are also unable to browse the repository in Artifactory. However, regardless of these problems, artifacts will be downloaded and cached when clients request them.

    0 讨论(0)
  • 2020-12-29 23:38

    You can add a mirror in you maven settings file to fetch the jars from confluent repo along with repository config . Changes needed are Add a mirror in settings.xml

       <mirror>
          <id>confluent</id>
          <mirrorOf>confluent</mirrorOf>
          <name>Nexus public mirror</name>
          <url>http://packages.confluent.io/maven/</url>
    </mirror>
    

    In repository section of maven settings add this

    <repository>
              <id>confluent</id>
              <url>http://packages.confluent.io/maven/</url>
              <releases>
                <enabled>true</enabled>
              </releases>
              <snapshots>
                <enabled>true</enabled>
              </snapshots>
    </repository>
    
    0 讨论(0)
提交回复
热议问题