代理存储库VS托管存储库

use*_*911 9 java repository nexus maven

根据Nexus的书,托管存储库是"由Nexus托管的存储库".并且第三方存储库(托管存储库)应该用于公共Maven存储库中不可用的第三方依赖项.

托管存储库和代理存储库之间有什么区别?例如,JBoss版本被引用为代理存储库.为什么JBoss不发布第三方存储库?将其定义为托管存储库或代理存储库是否真的重要?

dur*_*597 8

我不确定你在Nexus Book中找不到什么.简短版本是,代理存储库是您正在镜像的存储库,托管存储库是您通过Nexus软件在服务器上托管的存储库.托管包括由于某种原因不公开的第三方图书馆,见下文.

6.2.1.代理存储库

一个代理仓库是远程仓库的代理.默认情况下,Nexus附带以下配置的代理存储库:

Apache快照

此存储库包含Apache Software Foundation的快照发行版.

Codehaus快照

此存储库包含Codehaus的快照版本.

中央

这是包含发布组件的Central Repository.以前称为Maven Central,它是Apache Maven的默认内置存储库,并在Gradle,SBT或Ant/Ivy等其他构建工具中直接支持.Nexus使用URL https://repo1.maven.org/maven2/通过HTTPS连接到中央存储库.

6.2.2.托管存储库

一个托管库是由托管的Nexus的仓库.Nexus附带以下配置的托管存储库:

第三方

此托管存储库应该用于公共Maven存储库中不可用的第三方依赖项.这些依赖项的示例可以是商业的专有库,例如您的组织可能引用的Oracle JDBC驱动程序.

发布

此托管存储库是组织发布内部版本的位置.

快照

此托管存储库是组织发布内部快照的位置.

  • “由 Nexus 托管”,实际上它将由我自己的服务器托管,而不是在 Nexus 的服务器上。正确的? (2认同)
  • 添加它的唯一注意事项是代理存储库不会主动镜像远程数据库,而只是将请求代理到上游,然后缓存服务器上检索到的任何内容. (2认同)

Arp*_*wal 5

引用Nexus 书中的内容:

1. 代理存储库

  • repository with the type proxy,也称为代理存储库,是链接到远程存储库的存储库。
  • 对组件的任何请求都会根据代理存储库的本地内容进行验证。如果没有找到本地组件,则请求将转发到远程存储库。然后,该组件被检索并本地存储在存储库管理器中,该管理器充当缓存。
  • 然后,对同一组件的后续请求将从本地存储中得到满足,从而消除了再次从远程存储库检索组件的网络带宽和时间开销。

  • 默认情况下,存储库管理器附带以下配置的代理存储库:

    A)。maven-central -代理存储库访问中央存储库,以前称为 Maven Central。

    b). nuget.org-proxy -此代理存储库访问NuGet Gallery。它是用于 .Net 开发的 nuget 包管理工具使用的默认组件存储库。


2. 托管存储库

  • Arepository with the type hosted也称为托管存储库,是将组件存储在存储库管理器中作为这些组件的权威位置的存储库。

  • 默认情况下,存储库管理器附带以下配置的托管存储库:

    A)。maven-releases -此托管存储库使用maven2 repository format发布版本策略。它旨在成为您的组织发布内部版本的存储库。您还可以将此存储库用于外部存储库中不可用的第三方组件,因此无法通过配置的代理存储库检索这些第三方组件。

    b). maven-snapshots -使用maven2 repository format快照版本策略。它旨在成为您的组织发布内部开发版本(也称为快照)的存储库。

    C)。nuget-hosted - 它旨在成为您的组织可以使用NuGet repository format.