我最近为 Java 编写了一个 3rd 方库。目前,我正在通过 Github 和我拥有的一个网站分发该库,在那里我可以下载 JAR 文件。我想让开发人员可以使用 Gradle 和 Maven(以及可能的其他构建自动化工具)轻松地将我的 3rd 方库包含在他们的项目中。
我是 Maven、Gradle、Bintray、JCenter、MavenCentral、Ivy 等的新手。但是,我确实有使用 Ant、Java 和 Linux 的经验。
我一直在尝试学习如何使用上面的工具/平台发布我的 3rd 方库,但我变得很困惑。
- 根据我的阅读,Gradle、Maven 和 Ant 是相互竞争的技术。那么,为什么在实际用例场景的上下文中,Gradle 似乎与 Maven 如此交织在一起呢?
- Bintray 标榜自己是一个软件发布和分发平台。那么,为什么需要将 JCenter 创建为与 Bintray 的其余部分不同的东西呢?JCenter 能做什么而 Bintray 不能?
- 我在 Bintray 上创建了一个测试包和版本,并将一个 JAR 文件上传到该版本。是否可以编写一个能够将该 JAR 文件作为依赖项包含在 Java 项目中的 Gradle 脚本?或者该软件包是否需要与 JCenter“链接”?
基本上,谁能告诉我上述所有技术发生了什么?不要觉得有义务为这篇文章中所有以问号结尾的句子提供答案。这些问题主要是为了展示我目前的理解水平。对这些技术如何协同工作的简单概述会很好,如果可能的话,可以回答本文标题中的问题。