Nexus 3:一组中两个不同存储库中的一个工件的版本冲突

时间:2018-09-18 12:48:46

标签: android maven gradle nexus3

在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回购的元数据已被解析,然后找不到 latest 工件,因为它是SNAPSHOT,在maven-central中不可用。两者都配置为Release repos,并且组内的顺序将 maven-central 首先和 atlassian 最后放置。

我想念什么?

1 个答案:

答案 0 :(得分:0)

没关系,我发现了问题。代理存储库“ atlassian”的发行版配置错误,我将其更改为“混合”,现在提取了最新版本。