Nexus:给定pom,仅将依赖库引入到nexus repo。怎么样?

时间:2018-12-01 23:27:35

标签: maven nexus

我的项目有一个pom.xml-使用springboot和其他一些依赖项。在我的实验性本地网络-nexus-repo LNNP中,我只想引入来自Maven Central的pom.xml中的那些依赖项。

稍后,我将指向我的项目以使用LNNP。

如何在此处进行操作?

仅在列表/文件/ pom中提供依赖项的更大点:

企业基础架构或企业架构团队必须能够保持此LNNP级别,以限制在企业中使用的库,使用的版本或不使用的版本[与bug或扫描无关,只是限制某些库,因此非官方使用会冒泡给架构团队,并且会被/未批准]。

enter image description here

1 个答案:

答案 0 :(得分:0)

Nexus和Artifactory之类的存储库管理器执行两项(不同的)操作:

  1. 它们是将您的依赖项上载到的存储库。这些依赖关系在Internet上尚不可用(它们可能是您真正的依赖关系,或者它们可能是您在其他地方购买的JAR文件,并且由于某种原因在Internet上也不可用,例如它们是专有的)。
  2. 用作Internet上也可用的依赖项的代理和缓存。 Spring Boot及其依赖项就是一个很好的例子。因此,您可以将Maven指向您的存储库管理器实例。资源库管理器会从Internet下载其缓存中还没有的内容,然后将其提供给您。下次您网络上的本地Maven要求提供相同的工件时,存储库管理器将直接从其缓存中为其提供服务。

当您的本地Maven从存储库管理器接收到工件时,它与1.和2之间不再有太多区别。但是在存储库管理器中,这些工件存储在不同的容器(“存储库”)中。缓存的工件可能不太重要(例如,在创建备份方面),可以随时从Internet重新填充,而对于您的依赖项,此存储库管理器可能是全球事实的来源(例如,您可能要确保有备份)。

因此,回答您的问题:

  

我只想引入pom.xml中的那些依赖项

这就是代理和缓存功能将为您完成的工作。

  

稍后,我将指向我的项目以使用LNNP。

可能您想现在指向您的存储库管理器(LNNP),而不是稍后。