我应该担心 JCenter
被弃用吗?
为什么要将我的库从 JCenter
迁移到其他 Maven 存储库?
我可以在我的 Gradle 构建脚本中继续使用 jcenter()
吗?
我应该担心 JCenter
被弃用吗?
为什么要将我的库从 JCenter
迁移到其他 Maven 存储库?
我可以在我的 Gradle 构建脚本中继续使用 jcenter()
吗?
JFrog 网站中提到的 here 的最新更新如下:
2021 年 4 月 27 日更新:我们听取了社区的意见,并将 JCenter 无限期地保留为只读存储库。我们的客户和社区可以继续依赖 JCenter 作为 Java 包的可靠镜像。
请参阅 the new answer 。
jcenter()
将不再有效。
Gradle 7.0
将弃用jcenter()
来解决依赖关系。
您仍然可以使用JCenter
作为存储库,但 Gradle 会发出警告。
jcenter()
方法将在下一个主要版本中删除。Gradle 与
JCenter
或Maven Central
没有内在联系,因此您可以随时切换到您选择的任何其他存储库。
根据 Android Developers :
JFrog 是一家维护许多 Android 项目使用的
JCenter
工件存储库的公司,它最近宣布弃用JCenter
并即将退役。
根据 the announcement ,JCenter
将允许在 2022 年 2 月 1 日之前下载现有工件。在
JCenter
上发布工件的开发人员应该开始将包迁移到新主机,例如[Maven Central](https://maven.apache.org/repository/index.html)
。
因此,只需确保作者在其他存储库中提供他们的库,然后更新您的构建脚本以启用从这些存储库下载。
例如,在 Gradle 中使用 mavenCentral()
函数来启用从 Maven 中央存储库获取依赖项。
你必须改变
jcenter()
和
mavenCentral()
此外,您必须设置一个或多个存储库 url:
repositories {
mavenCentral()
maven {
url = "https://repo1.maven.org/maven2/"
}
maven {
url "https://repo.spring.io/release"
}
maven {
url "https://repository.jboss.org/maven2"
}
maven {
url 'https://repo.jenkins-ci.org/public/'
}
}
实际上,开发人员应该将他们的库移植到 Maven 或 Google。在这种情况下,可以从 Gradle 中删除 jCenter()。
当不再维护旧库或开发人员退休时,就会出现问题。
只有两种可能:
a) 搜索,例如 Maven 中的类似库。
b) 从 GitHub 下载相应的源代码,并从中创建您自己的本地库。
截至 2022 年 2 月 1 日,JCenter 肯定已关闭。
就我而言,我已按照以下步骤完成它:
代替
有了这个: