为什么要使用 Maven 存储库管理器

Why use a maven repository manager

一年以来我一直在使用 maven 来管理我的项目的依赖关系,但我最近才知道有一个 Maven 存储库管理器的概念。
我想问一下什么是Maven Repository Manager,使用maven repository manager的目的是什么

A "Maven Repository Manager" 基本上是一个存储所有库副本的服务器,以便在构建项目时可以下载它们。当您使用 Maven 时,您正在使用一个名为 "Maven Central." 的存储库管理器,请参阅此处:https://maven.apache.org/repository-management.html

当您与大型项目或公司合作时,他们可能会提供 Maven Central 的替代方案,例如 Sonatype Nexus。他们这样做有两个原因。

首先,一家大公司可能拥有仅供内部使用的库,这些库在大量项目中使用。例如,如果您在 Amazon 工作,您可能拥有用于完成信用卡交易的库。那不一定要与世界其他地方共享,所以你不想把它放在 Central 中;你需要把它放在私人的地方。

其次,它减少了带宽。如果 Amazon 的每个开发人员都只使用 Maven Central,那将是大量的网络流量。存储库充当 Central 的 "proxy"。它会在内部搜索一个库,如果没有找到,它会从 Central 下载它,然后保存以备下次有人需要时使用。

解决如下问题:

  • 首先如何将二进制文件发送到服务器?
  • 你想要哪个版本?
  • 部署新版本时如何恢复到旧版本?
  • 哪些员工可以访问哪些二进制文件?

等等。