实际上,我正在研究build.gradle
档案。在某些情况下,我得知有时他们在存储库部分中使用mavenCentral()
,jCenter()
和mavenLocal()
。有时他们也使用URL。所以在我脑海中出现了一些问题?
i)mavenCentral(),jCenter()和mavenLocal()之间的区别?
ii)我应该使用哪一个?
iii)是否存在任何与性能相关的问题?
答案 0 :(得分:15)
实际上,所有3个都是Maven存储库。我们通过使用URL地址或其在本地文件系统中的位置来使用这些maven存储库来构建。
使用网址
repositories {
maven { url("https://plugins.gradle.org/m2/") }
}
使用本地文件系统:
repositories {
maven { url '../maven-repo' }
}
Gradle有三个“别名”,我们可以在将Maven存储库添加到构建时使用。这些别名是:
mavenCentral()别名表示从central Maven 2 repository获取依赖项。
repositories {
mavenCentral()
}
用于访问此存储库的URL是https://repo.maven.apache.org/maven2/。存储库的名称是MavenRepo。
jcenter()别名表示从Bintray’s JCenter Maven repository
获取依赖项mavenLocal()别名表示从本地Maven存储库中获取依赖项。
jcenter()和mavenCentral()是Android Studio中Gradle插件的存储库
早期版本的Android Studio使用了mavenCentral(),过了一段时间后,它切换到了jcenter。
这是因为jcenter()在性能和内存占用方面优于mavenCentral():
答案 1 :(得分:4)
根据 Android Developer 页 -
JCenter 弃用和服务终止
JFrog 是一家维护许多 Android 项目使用的 JCenter 工件存储库的公司,最近宣布弃用 JCenter 并即将停用。根据 announcement,JCenter 将允许在 2022 年 2 月 1 日之前下载现有工件。
在 JCenter 上发布工件的开发人员应该开始将他们的包迁移到新的主机,例如 Maven Central。
答案 2 :(得分:2)
https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/
<块引用>更新:为了在此次迁移中更好地支持社区,JFrog 已将 JCenter 新包版本提交截止日期延长至 2021 年 3 月 31 日。
澄清一下,JCenter 存储库将继续提供包服务 12 个月直到 2022 年 2 月 1 日。只有 JCenter REST API 和 UI 将于 2021 年 5 月 1 日停用。