Was ist im JCenter-Repository in Gradle enthalten?


141

Ab Gradle 1.7 gibt es ein neues öffentliches Repository JCenter.

repositories {  
   jcenter()  
}

Ich möchte also fragen, ob alle Gläser von Maven Central Teil dieses Repos sind. Und wenn nicht, woraus besteht JCenter Repo? Und ist JCenter von Maven Central aus zuverlässiger als Ausfallzeiten?


3
Hier finden Sie alles über den Übergang von Maven Central zu Jcenter .
Paresh Mayani

Antworten:


126

jcenter()ist ähnlich wie mavenCentral(). Werfen Sie einen Blick auf https://bintray.com/bintray/jcenter für weitere Details. Die jCenter-Leute behaupten, dass sie eine bessere Leistung haben als Maven Central.


33
Jetzt gibt es in jCenter keine 1.18.1-Version des Maven-Surefire-Plugins, aber in MavenCentral wird diese Version vorgestellt. Es ist also keine reine Obermenge von mavenCentral ()
Xelian

Ein weiteres Beispiel ist appengine-api-1.0-sdk: Es gibt v1.9.22 in MavenCentral, aber nur v1.9.17 in jcenter.
NaXa

9
Laut dem Dokument jcenter() verweist auf jcenter.bintray.com und mavenCentral()auf repo1.maven.org/maven2
real_paul

8
@ Xelian, soweit ich weiß, sind sie faul und transparent. Auch wenn es nicht anzeigt, dass sie die Datei haben, können Sie darauf verweisen, und es wird Ihnen ordnungsgemäß dienen, nachdem Sie die Datei faul von einer anderen Quelle abgerufen haben .
TWiStErRob

Ich habe einen Klassenpfad in meinem Buildscript in: org.javafxports: jfxmobile-plugin: 1.3.8 - vorher heißt es jcenter(). Wenn ich org.javafxports google: jfxmobile-plugin: 1.3.8 komme ich zu bitbucket.org/javafxports/javafxmobile-plugin . es muss bedeuten, dass jcenter gleich butbucket ist!
Lealo

21

Wie unter https://bintray.com/bintray/jcenter erwähnt :

JCenter ist der Ort, an dem Sie beliebte Apache Maven-Pakete für Maven, Gradle, Ivy, SBT usw. finden und freigeben können. Die umfassendste Sammlung von Artefakten finden Sie in Ihrem Maven unter: http://jcenter.bintray.com Möchten Sie verteilen Ihre eigenen Pakete über JCenter? Sie können Ihr Paket verknüpfen, indem Sie auf die Schaltfläche "Mein Paket einschließen" klicken. Und wenn Sie sich für Legacy interessieren, können Sie Ihre Pakete sogar direkt mit Maven Central synchronisieren.

Ich finde auch einen guten Vergleich unter https://www.jfrog.com/knowledge-base/why-should-i-use-jcenter-over-maven-central/ (leider scheint der Link tot zu sein, aber einige nützliche Hinweise sind hier)

jcenter ist das bei bintray gehostete öffentliche Repository, das für Open-Source-Bibliotheksverleger kostenlos verwendet werden kann. Es gibt viele gute Gründe, jcenter über Maven Central zu verwenden. Hier sind einige der wichtigsten:

  1. jcenter stellt die Bibliothek über CDN bereit, was Verbesserungen bei CI- und Entwickler-Builds bedeutet.
  2. jcenter ist das größte Java-Repository der Welt. Dies bedeutet, dass alles, was in Maven Central verfügbar ist, auch in jcenter verfügbar ist.
  3. Es ist unglaublich einfach, eine eigene Bibliothek in bintray hochzuladen. Sie müssen sie nicht unterschreiben oder komplexe Dinge tun, wie Sie es in Maven Central tun müssen.
  4. Friendly-UI Wenn Sie Ihre Bibliothek in Maven Central hochladen möchten, können Sie dies ganz einfach mit einem einzigen Klick auf die bintray-Site tun.

Dieser Link ist tot: jfrog.com/knowledge-base/… und ich konnte nirgendwo finden, wo er verschoben wurde, um ihn zu aktualisieren
Chris R

1
Es ist nicht erforderlich, nach dem Link zu suchen (wie ich es gerade auf dem Wayback-Computer getan habe), da Alireza den Text von der verlinkten Seite in seine Antwort kopiert hat.
JL_SO

10

Maven Central und JCenter sind aus Anwendersicht meist gleichwertig.

Der Grund, warum es zwei große Repos gibt, ist, dass Maven Central von Sonatype unterstützt wird, dem Unternehmen hinter Maven und insbesondere hinter Nexus, einem Maven-Repository, das sie an Unternehmen verkaufen.

JCenter wird von JFrog unterstützt, dem Unternehmen hinter Artifactory, einem Konkurrenten von Nexus. Soweit ich mich erinnere, unterstützte JFrog Gradle auch eine Weile als Konkurrent von Maven.

Letztendlich geht es also um konkurrierende Unternehmen, die kostenlose Services anbieten, um Kunden zu ihren übergeordneten Unternehmensangeboten zu locken.

Wenn Sie keinen bestimmten Grund haben, einen davon zu verwenden, können Sie grundsätzlich eine Münze werfen, um eine auszuwählen.


1

jCenter () enthält Artefakte , die in nicht existieren mavenCentral () zum Beispielcom/bmuschko/gradle-cargo-plugin/2.2.3/gradle-cargo-plugin-2.2.3.jar

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.