Actually, all 3 are Maven repository. We use these maven repositories to our build by using its URL address or its location in the local file system.
By using URL:
repositories {
maven { url("https://plugins.gradle.org/m2/") }
}
By using local file system:
repositories {
maven { url '../maven-repo' }
}
Gradle has three “aliases” which we can use when we are adding Maven repositories to our build. These aliases are:
- mavenCentral():
The mavenCentral() alias means that dependencies are fetched from the central Maven 2 repository.
repositories {
mavenCentral()
}
The URL used to access this repository is https://repo.maven.apache.org/maven2/. The name of the repository is MavenRepo.
- jcenter():
The jcenter() alias means that dependencies are fetched from the Bintray’s JCenter Maven repository
- mavenLocal():
The mavenLocal() alias means that dependencies are fetched from the local Maven repository.
Resource Link:
Gradle: Dependency Management
Maven RepositoryHandler
Jcenter vs. mavenCentral
jcenter() and mavenCentral() is a repository for the Gradle plugin in Android Studio
Earlier versions of Android Studio used mavenCentral(), and after some time, it switched to jcenter.
This is because jcenter() is superior to mavenCentral() in terms of performance and memory footprint:
- Jcenter is the world's largest Java repository
- Jcenter through the CDN service, using the https protocol, highly
secured, and Android Studio 0.8 version mavenCentral() using the http
protocol
- Jcenter is a superset of mavenCentral, including many additional
jars
- Jcenter performance is better than mavenCentral
- mavenCentral will automatically download many IDE-related indexes,
and these are used less often which are not required.
Resource Link:
https://www.jianshu.com/p/bce437eeb3d3
Last Update: Into the Sunset on May 1st: Bintray, JCenter, GoCenter, and ChartCenter
Announcement Link: https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/
Maven Central Link: https://maven.apache.org/repository/index.html
Work Around:
repositories {
mavenLocal()
// jcenter() // <- remove it
mavenCentral() // <- add it
maven { url "https://plugins.gradle.org/m2/" }
maven { url "https://repo.spring.io/plugins-release/" }
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…