【问题标题】:In 2021, best replacement for "jcenter()"?2021 年,“jcenter()”的最佳替代品?
【发布时间】:2021-06-08 12:25:40
【问题描述】:

Android 专家,

请从您的构建脚本中删除对 `jcenter()` Maven 存储库的使用,并将您的构建迁移到其他 Maven 存储库。

在今天的实践中,我应该将下面的“jcenter”替换为什么?

不幸的是,这方面的所有信息似乎在过去一两年都发生了巨大变化?因此请教这里的专家。

只有在重要的情况下,应用才 24 岁以上。

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.2.0-beta06'
    }
}
allprojects {
    repositories {
        google()
        jcenter()
        maven { url "https://jitpack.io" }
    }
}

【问题讨论】:

    标签: maven android-studio


    【解决方案1】:

    我猜目前的建议是使用 mavenCentral()。不幸的是,到目前为止,并非所有软件包都可用。 据我所知,大多数项目都将转移到或已经转移到 mavenCentral(显然是 Java 和其他与 JVM 相关的项目)。当前的日落时间延长至 2021 年 3 月末,这意味着,在此时间点之后,无法在 jcenter() 上发布新的包,但仍可以从中检索(直到 2022 年 1 月)。

    这可以在https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/ 上重新阅读,其中指出:

    2021 年 5 月 1 日,日落将影响所有现有的 Bintray 用户。 Bintray 用户将被阻止,将无法再使用 Bintray 服务。这包括现有的软件分发、帐户 管理访问、UI 访问和 REST API。

    在此日期之后,JCenter 存储库仍将解析工件,但最终用户应迁移到规范存储库(例如 Java 包 应从 Maven 中心检索)。 2022 年 2 月 1 日,JCenter 将 只为 Artifactory 客户端解析工件。

    【讨论】:

    • 非常感谢。我相信这个答案对于许多正在制作 droid 应用程序的 iOS 开发人员来说会非常有用:) 所以我用“mavenCentral”替换了文本“jcenter”,效果很好。极好的。 (我确实遇到了一个问题,Unable to resolve dependency for ':app@debugUnitTest/compileClasspath': Could not resolve com.gorisse.thomas.sceneform:sceneform:1.18.5 我猜 github 上的那个包不在 mavenCentral 上?:O
    • 您可以自己检查:mvnrepository.com
    • 发送了一个小赏金@triplem
    【解决方案2】:

    如果你是发布者,可以试试 github 包,里面有 500MB 存储的免费计划,对于很多人来说似乎已经足够了。

    Publishing Java packages with Gradle

    【讨论】:

      猜你喜欢
      • 2011-04-08
      • 1970-01-01
      • 1970-01-01
      • 2019-05-29
      • 2010-10-06
      • 2010-12-07
      • 2010-09-29
      • 1970-01-01
      • 2016-04-09
      相关资源
      最近更新 更多