MavenCentral()、 jCenter()和 mavenLocal()之间的区别?

事实上,我正在研究 build.gradle文件。在某些情况下,我发现他们有时在存储库部分使用 mavenCentral()jCenter()mavenLocal()。有时他们也使用 URL。所以我心里有些疑问?

I) mavenCentral ()、 jCenter ()和 mavenLocal ()之间的差异?

Ii)我最应该使用哪一个?

Iii)是否有任何与表现有关的问题?

48602 次浏览

事实上,这三个都是 Maven 的资料库。通过使用它的 URL 地址或它在本地文件系统中的位置,我们将这些 maven 存储库用于我们的构建。

使用网址:

repositories {
maven { url("https://plugins.gradle.org/m2/") }
}

使用本地文件系统:

repositories {
maven { url '../maven-repo' }
}

Gradle 有三个“别名” ,我们可以在向构建中添加 Maven 存储库时使用这些别名:

  1. 马文中心() :

MavenCentral ()别名意味着从 中央 Maven2存储库获取依赖项。

repositories {
mavenCentral()
}

用于访问该存储库的 URL 是 https://repo.maven.apache.org/maven2/,存储库的名称是 MavenRepo。

  1. 中心() :

Jcenter ()别名意味着从 Bintray 的 JCenter Maven 存储库获取依赖项

  1. MavenLocal () :

MavenLocal ()别名意味着从本地 Maven 存储库获取依赖项。

资源连结:

  1. 依赖管理

  2. Maven RepositoryHandler


Jcenter 对阵 Maven Central

Jcenter ()和 mavenCentral ()是 Android Studio 中的 Gradle 插件的存储库

早期版本的 Android Studio 使用了 mavenCentral () ,过了一段时间之后,它切换到了 jcenter。

这是因为 jcenter ()在性能和内存占用方面优于 mavenCentral () :

  • Jcenter 是世界上最大的 Java 存储库
  • Jcenter 通过 CDN 服务,使用 Https 协议,高度 安全,Android Studio 0.8版本 mavenCentral ()使用 < strong > http 协议
  • Jcenter 是 mavenCentra l 的超集,包括许多附加的 罐子
  • Jcenter 的性能比 mavenCentral 好
  • MavenCentral 将自动下载许多与 IDE 相关的索引, 这些都是不经常使用,这是不需要的。

资源连结: Https://www.jianshu.com/p/bce437eeb3d3


最后更新: 5月1日的夕阳西下: 宾特雷、 JCenter、 GoCenter 和 ChartCenter

enter image description here

更新: Android 开发者页面的24-02-2021:

enter image description here

公告链接: http://jFrog.com/blog/into-the-sun-bintray-jcenter-gocenter-and-chartcenter/rel = “ norefrer”> https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/

美芬中央链接: < a href = “ https://Maven.apache.org/itory/index.html”rel = “ norefrer”> https://Maven.apache.org/repository/index.html

解决方法:

repositories {
mavenLocal()
    

//  jcenter()       // <- remove it
mavenCentral()  // <- add it
    

maven { url "https://plugins.gradle.org/m2/" }
maven { url "https://repo.spring.io/plugins-release/" }
}

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日日落。

根据 Android 开发者页-

JCenter 弃用和服务结束

JFrog 公司负责维护许多 Android 项目使用的 JCenter 工件库,该公司最近宣布废弃 JCenter 并即将退休。根据 公告,JCenter 将允许现有工件的下载,直到2022年2月1日。

在 JCenter 上发布工件的开发人员应该开始将他们的包迁移到一个新的主机上,比如 玛文中心