155

请注意,JCenter 将切换到只读模式。避免使用它。jcenter()将在 Gradle 8.0 中删除。


Gradle 1.7开始,有一个新的公共存储库 JCenter。

repositories {
   jcenter()
}

所以我想问一下 Maven Central 中的所有 JAR 文件是否都是这个存储库的一部分?如果没有,JCenter 存储库由什么组成?Maven Central 的 JCenter 作为停机时间是否更可靠?

4

5 回答 5

137

jcenter()类似于mavenCentral()。查看https://bintray.com/bintray/jcenter了解更多详情。JCenter 家伙声称他们的性能比 Maven Central 更好。

于 2014-08-05T18:21:57.050 回答
22

https://bintray.com/bintray/jcenter中所述:

JCenter 是查找和共享流行的 Apache Maven 包以供 Maven、Gradle、Ivy、SBT 等使用的地方。对于最全面的工件集合,请将您的 Maven 指向:http: //jcenter.bintray.com你自己的包通过 JCenter?您可以通过单击“包含我的包裹”按钮链接您的包裹。如果您喜欢旧版,您甚至可以将您的包直接同步到 Maven Central。

我还在https://www.jfrog.com/knowledge-base/why-should-i-use-jcenter-over-maven-central/找到了一个很好的比较(不幸的是,链接似乎死了,但这里有一些有用的提示) :

jcenter 是托管在 bintray 的公共存储库,可供开源库发布者免费使用。使用 jcenter 而不是 Maven Central 有很多很好的理由。以下是一些主要的:

  1. jcenter 通过 CDN 提供库,这意味着 CI 和开发人员构建的改进。
  2. jcenter 是地球上最大的 Java 存储库。这意味着 Maven Central 上可用的任何东西在 jcenter 上也可用。
  3. 将您自己的库上传到 bintray 非常容易。无需在 Maven Central 上签名或做任何复杂的事情。
  4. Friendly-UI 如果您想将您的库上传到 Maven Central,您只需单击 bintray 站点即可轻松完成。
于 2017-03-18T12:20:19.390 回答
13

新答案:

JCenter 将关闭,所以这个问题没有实际意义。只需使用 Maven 中心

2021 年 5 月之前适用的旧答案:

从用户的角度来看,Maven Central 和 JCenter 基本上是等价的。

有两个大型存储库的原因是 Maven Central 得到了 Sonatype 的支持,Sonatype 是 Maven 背后的公司,尤其是 Nexus 背后的公司,Nexus 是他们出售给企业的 Maven 存储库。

JCenter 得到了JFrog的支持,JFrog是 Nexus 的竞争对手Artifactory背后的公司。据我记得,JFrog 作为 Maven 的竞争对手也曾支持过 Gradle。

所以最终它是关于提供免费服务的竞争公司,以试图吸引客户使用他们更高级别的企业产品。

除非您有非常具体的理由使用其中一个,否则您基本上可以抛硬币选择一个。

于 2018-06-22T10:51:03.973 回答
8

JFrog 宣布,从 2021 年 5 月开始,Bintray、JCenter 等将被删除,不再使用。如果您将 JCenter 与 Gradle 一起使用,则应迁移到使用 MAven 或其他适当的存储库。

您应该考虑为可能使用资产的应用程序进行构建以便下载它们,因为关闭后可能会有资产在其他任何地方都不可用并且它们可能无法恢复。

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

于 2021-02-04T14:43:30.560 回答
1

例如, jCenter()包含 mavenCentral() 中不存在的工件com/bmuschko/gradle-cargo-plugin/2.2.3/gradle-cargo-plugin-2.2.3.jar

于 2019-03-01T14:45:24.997 回答