首页 > 解决方案 > 从 JCenter 迁移到 mavenCentral 存储库时出现 Gradle 问题

问题描述

您可能已经知道,JFrog 宣布 Bintray、JCenter、GoCenter 和 ChartCenter 将于今年 5 月 1 日关闭。由于 JCenter 作为 Android 项目中的主要 repo 被广泛用于各种依赖项,因此应该使用替代 repo,我使用了 mavenCentral,因为它最流行且被广泛接受。

从 JCenter 迁移到 mavenCentral 时,我遇到了一个问题。我保留 JCenter 也是因为领域数据库(计划很快迁移到 mavenCentral)和其他一些东西。

如果我这样说

repositories {
    google()
    mavenCentral() 
    jcenter()
}

它按预期工作,但我只想从 JCenter 下载领域和其他缺失的东西,直到它完全迁移。然后它看起来像这样:

repositories {
    google()
    mavenCentral()
    jcenter() {
        content {
            includeGroup "io.realm"
            includeGroup "org.jetbrains.trove4j"
        }
    }
}

然后有很多依赖标记为致命错误,例如:

[致命错误] appcenter-analytics-4.1.0.pom:2:3:文档中根元素之前的标记必须格式正确。

在那之后:

无法解析配置 ':app:appNameCompileClasspath' 的所有任务依赖项。无法解析 com.microsoft.appcenter:appcenter-analytics:4.1.0。要求:项目:app > 无法解析 com.microsoft.appcenter:appcenter-analytics:4.1.0。> 无法解析 POM http://pay.cards/maven/com/microsoft/appcenter/appcenter-analytics/4.1.0/appcenter-analytics-4.1.0.pom > 文档中根元素之前的标记必须是格式良好。无法解析 com.microsoft.appcenter:appcenter-crashes:4.1.0。

我尝试了各种东西,清理缓存,重建项目,降低依赖版本等。

有人遇到过这样的问题并且知道可能的解决方案吗?

标签: androidmavengradlejcentermaven-central

解决方案


只需替换jcenter()为:gradlePluginPortal()

编辑:如果gradlePluginPortal()不够,再添加一个:mavenCentral()


推荐阅读