仓库

从哪里找到jar?

项目用到的jar又存放在哪里?

这引出了仓库的概念,Maven通过仓库来统一管理各种构件。Maven的仓库分为本地仓库和远程仓库。(左图)

当Maven根据坐标寻找构件时,它首先会查看本地仓库,如果本地仓库存在此构件,则直接使用;如果本地仓库不存在此构件,或者需要查看是否有更新的构件版本,Maven会去远程仓库查找,发现需要的构件之后,下载到本地仓库再使用。(右图)

Nexus是一种远程仓库,是私服仓库的技术解决方案。

那么,我们为什么要用私服?

我们从项目实际开发来看:

1、一些无法从外部仓库下载的构件(例如公司内部的项目),发布到私服后供其他依赖项目使用。

2、为了节省带宽和时间,在局域网内架设一个私有的仓库服务器,用其代理所有外部的远程仓库。当本地Maven项目需要下载构件时,先去私服请求,如果私服没有,则再去远程仓库请求,从远程仓库下载构件后,把构件缓存在私服上。这样,及时暂时没有Internet链接,由于私服已经缓存了大量构件,整个项目还是可以正常使用的。同时,也降低了中央仓库的负荷。


转载请注明来源。 欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。 可以在下面评论区评论,也可以邮件至 sharlot2050@foxmail.com。

文章标题:仓库

字数:377

本文作者:夏来风

发布时间:2019-04-20, 22:08:36

原始链接:http://www.demo1024.com/blog/nexus3/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。