1. Nexus
Nexus 是Maven 仓库管理器,如果你是用 Maven,你可以 从从 maven 中央仓库,下载所有的构建,但这通常不是一个好的做法,你因该在本地架设一个 Maven 仓库私服务器,在代理远程仓库的同时维护本地仓库,以节省带宽时间,Nexus就可以满足这样的需要,此外,他还提供了强大的仓库管理功能,构建搜索功能,占用较少的内存,基于简单文件系统而非数据库,这些优点使其日趋成为了最流行的Maven仓库管理器!!!
总结:Nexus 功能
-
管理 Maven仓库
-
仓库代理,加速下载
-
拥有搜索功能,且占用的内存较小
2. Nexus与Maven关系
Nexus不是Maven的核心概念,它仅仅是一种衍生出来的特殊的Maven仓库,
对于Maven来说,仓库只有两种,本地仓库和远程仓库
本地仓库:
本地仓库就是我们在maven的 settings.xml 中配置的本地仓库地址,由于最原始的本地仓库是空的,Maven必须知道至少一个可用的远程仓库,才能执行Maven命令的时候下载到我们需要的构件
中央仓库是 Maven默认的远程仓库
私服:
私服是架设在局域网中的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件,有了私服之后,当Mave需要下载构件是,直接请求私服,私服上存在则下载到本仓库,否则,私服请求外部的远程仓库,将构件下载到私服,在提供给本地仓库使用。
相当于 maven搭建在局域网中的缓存服务器
3. Nexus功能介绍
1) 节省外网带宽,大量对于外部仓库的重复请求会消耗资源带宽,利用私服代理外部仓库,可以消除对外的重复构件下载,降低带宽的压力
- 加速 MAven构建,不停的连续请求外部仓库时分的耗时间,Maven在执行构建的时候不停的检查远程仓库的数据,利用私服,Maven只检查局域网的数据提高构建的速度
3) 部署第三方构件,当某个构件无法从任何一个外部远程仓库获得,建立私服之后,便可以将这些构件部署到私服,供内部的Maven项目使用
4) 提高稳定性,增强控制, Maven构件,高度依赖于远程仓库,因此,当网络不稳定时,Maven构建也会变得不稳定,甚至无法 构建私服缓存了大量的构建,及时暂时没有网络,Maven也可以正常的运行
5) 降低中央仓库的负荷,使用私服可以避免很多对中央仓库 重复下载,降低中央仓库的压力