从 JCenter 迁移到 mavenCentral 存储库时出现 Gradle 问题

Posted

技术标签:

【中文标题】从 JCenter 迁移到 mavenCentral 存储库时出现 Gradle 问题【英文标题】:Gradle issue when migrating from JCenter to mavenCentral repository 【发布时间】:2021-05-12 08:02:33 【问题描述】:

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

从 JCenter 迁移到 mavenCentral 时遇到问题。我保留 JCenter 也是因为 realm 数据库(计划很快迁移到 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。 要求: 项目:应用程序 > 无法解析 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。

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

有人遇到过这样的问题并知道解决办法吗?

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

根据this 和here 的注释(两个链接都指向官方Microsoft 文档),在我看来,至少您的appcenter 依赖项现在应该已经迁移到mavenCentral()。您提出问题的时间和提出this 问题的时间让我相信,在您提出问题时,情况并非如此。

如果您还有其他无法解决的依赖项,我建议您研究一下是否仍然仅在 JCenter 上可用。

【讨论】:

以上是关于从 JCenter 迁移到 mavenCentral 存储库时出现 Gradle 问题的主要内容,如果未能解决你的问题,请参考以下文章

删除 jcenter() 后如何解决 Android Studio 4.2 构建错误?

如何将 maven 工件从 jcenter 同步到 maven Central?

JCenter下载太慢?教你修改Maven仓库地址为国内镜像

安卓 eclipse 项目 迁移 android studio gradle 配置 热修复 annotations注解

错误:在存储库容器上找不到参数 [] 的方法 jcenter()

无法通过新项目从 jcenter 获取依赖项[关闭]