【问题标题】:Nexus 3: Version clash for one artifact in two different repos of one groupNexus 3:一组的两个不同存储库中的一个工件的版本冲突
【发布时间】:2018-09-18 12:48:46
【问题描述】:

在 Nexus 3 (OSS 3.13.0-01) 中,我创建了一个“公共”组,其中包含(除其他外)代理存储库 maven-central (https://repo1.maven.org/maven2/) 和 atlassian (https://maven.atlassian.com/repository/public/)。这两个存储库都包含工件 com.ibm.mobilefirstplatform.clientsdk.android:analyticsapi。如果 Gradle 构建尝试获取此依赖项,则会失败并显示“找不到任何匹配 com.ibm.mobilefirstplatform.clientsdk.android:analyticsapi:[1.0.0,) 因为没有 com.ibm.mobilefirstplatform.clientsdk 的版本。 android:analyticsapi 可用。”

公开组的maven-metadata.xml如下:

<metadata modelVersion="1.1.0">
    <groupId>com.ibm.mobilefirstplatform.clientsdk.android</groupId>
    <artifactId>analyticsapi</artifactId>
    <versioning>
        <latest>1.2.2-SNAPSHOT</latest>
        <release>1.2.1</release>
        <versions>
            <version>1.0.0</version>
            <version>1.0.1</version>
            <version>1.0.2-SNAPSHOT</version>
            <version>1.1.0</version>
            <version>1.1.1</version>
            <version>1.1.2-SNAPSHOT</version>
            <version>1.2.0-SNAPSHOT</version>
            <version>1.2.0</version>
            <version>1.2.1-SNAPSHOT</version>
            <version>1.2.1</version>
            <version>1.2.2-SNAPSHOT</version>
        </versions>
        <lastUpdated>20180315061158</lastUpdated>
    </versioning>
</metadata>

当我浏览存储库时,它包含版本 1.2.1。 Browsing public repo

所以在我看来,Atlassian repo 的元数据被解析,然后 latest 工件没有找到,因为它是一个 SNAPSHOT 并且在 maven-central 中不可用。两者都配置为 Release repos,并且组内的排序将 maven-central 放在第一位,atlassian 在最后。

我错过了什么?

【问题讨论】:

    标签: android maven gradle nexus3


    【解决方案1】:

    没关系,我发现了问题。代理 repo "atlassian" 被错误配置为 Release,我将其更改为 Mixed,现在拉取了最新版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-13
      • 1970-01-01
      相关资源
      最近更新 更多