Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is included in JCenter repository in Gradle?

People also ask

What is JCenter repository in Gradle?

JCenter has been the default repository for Android projects for many years. If you're building an Android application, you're probably using JCenter. The Gradle Plugin Portal implicitly mirrors JCenter currently.

What is JCenter in build Gradle?

According to the announcement, JCenter will allow downloads of existing artifacts until February 1, 2022. Developers who publish artifacts on JCenter should start migrating packages to a new host, such as Maven Central.

What is JCenter repo?

jCenter is the public repository hosted at bintray that is free to use for open source library publishers. It is the largest repository in the world for Java and Android OSS libraries, packages and components. All the content in JCenter is served over a CDN, with a secure HTTPS connection.

What is difference between JCenter and mavenCentral?

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.


jcenter() is similar to mavenCentral(). Have a look at https://bintray.com/bintray/jcenter for more details. The JCenter guys claim that they have a better performance than Maven Central.


As mentioned in https://bintray.com/bintray/jcenter:

JCenter is the place to find and share popular Apache Maven packages for use by Maven, Gradle, Ivy, SBT, etc. For the most comprehensive collection of artifacts, point your Maven at: http://jcenter.bintray.com Want to distribute your own packages through JCenter? You can link your package by clicking the "Include My Package" button. And if you're into legacy, you can even synchronize your packages directly to Maven Central.

Also I find a good compare at https://www.jfrog.com/knowledge-base/why-should-i-use-jcenter-over-maven-central/ (unfortunately the link seems dead but some useful hints are here):

jcenter is the public repository hosted at bintray that is free to use for open source library publishers. There are many good reasons to use jcenter over Maven Central. Here are some of the major ones:

  1. jcenter delivers library through CDN which means improvements in CI and developer builds.
  2. jcenter is the largest Java Repository on earth. This means that whatever is available on Maven Central is available on jcenter as well.
  3. It is incredibly easy to upload your own library to bintray. No need to sign them or do any complex things like you have to on Maven Central.
  4. Friendly-UI If you want to upload your library to Maven Central you could do it easily with a single click on the bintray site.

New answer:

JCenter will shut down so this question will be moot. Just use Maven Central 🙂

Old answer that applied before May 2021:

Maven Central and JCenter are mostly equivalent, from a user perspective.

The reason there are two big repositories is that Maven Central is backed by Sonatype, the company behind Maven and especially behind Nexus, a Maven repository they sell to enterprises.

JCenter is backed by JFrog, the company behind Artifactory, a competitor to Nexus. From what I remember, JFrog also backed Gradle for a while, as a competitor to Maven.

So in the end it's about competing companies offering free services to try to lure customers to their higher level enterprise offerings.

Unless you have a very specific reason to use one of them, you can basically toss a coin to choose one.


JFrog have announced that from the start of May 2021 Bintray, JCenter etc. will be deleted and no longer used. If you are using JCenter with Gradle, you should migrate to using MAven or another appropriate repository instead.

You should consider doing builds for applications that might use assets in order to download them, because there will likely be assets that aren’t available anywhere else after the shutdown and they may not be recoverable.

https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/


jCenter() contains artifacts that don't exist in mavenCentral() for example com/bmuschko/gradle-cargo-plugin/2.2.3/gradle-cargo-plugin-2.2.3.jar