代码之家  ›  专栏  ›  技术社区  ›  SkyWalker

mavenentral()、jcenter()和mavenlocal()之间的区别?

  •  8
  • SkyWalker  · 技术社区  · 7 年前

    实际上,我正在学习 build.gradle 文件。在某些情况下,我知道有时候他们在使用 mavenCentral() , jCenter() mavenLocal() 在存储库部分。有时他们也使用url。所以在我的脑海里出现了一些问题?

    i)mavenentral()、jcenter()和mavenlocal()之间的区别?

    i i)我最应该用哪一个?

    iii)是否存在与绩效相关的问题?

    1 回复  |  直到 7 年前
        1
  •  20
  •   SkyWalker    7 年前

    实际上,这三个都是maven存储库。我们通过使用maven存储库的url地址或其在本地文件系统中的位置来使用这些maven存储库。

    通过使用URL:

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

    通过使用本地文件系统:

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

    格雷德有三个别名 当我们向构建中添加maven存储库时可以使用它。这些别名是:

    1。mavenentral():

    别名mavenentral()表示从 central Maven 2 repository .

    repositories {
        mavenCentral()
    }
    

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

    2。JCSETIN():

    jCenter()别名表示从 Bintray’s JCenter Maven repository

    三。mavenLocal():

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

    资源链接:

    1. Gradle: Dependency Management

    2. Maven RepositoryHandler


    jcenter与mavenentral

    jcenter()和mavenentral()是android studio中gradle插件的存储库

    早期版本的android studio使用mavenentral(),一段时间后,它切换到jcenter。

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

    • Jcenter是世界上最大的Java储存库
    • jCenter通过cdn服务,使用 https协议 ,高度 安全,android studio 0.8版本mavenentral()使用 HTTP协议 协议
    • jcenter是mavenentra的超集 l,包括许多额外的 罐
    • jcenter性能优于mavenentral
    • Mavenentral将自动下载许多与IDE相关的索引, 而且,这些不需要的东西使用得更少。

    资源链接 https://www.jianshu.com/p/bce437eeb3d3

    推荐文章