1. Nexus 概述
Nexus 是Maven 仓库管理器,管理开发所需要的构件。如果每次都是从 Apache 提供的 Maven中央仓库去下载所需要的构件,那么这通常不是一个好的做法。应该在本地架设一个Maven仓库服务器,再代理远程仓库的同时维护本地仓库,以节省带宽和时间,那么Nexus可以满足这样的需求。
Nexus Repository Manager 仓库管理分为专业版和oss版,oss版是免费的,专业版是收费的。
nexus 的功能非常强大。Nexus 2.x 和 Nexus 3.x 的差别也是非常大;Nexus 3.x 版本更增加了对 Docker、NuGet、npm、Bower的支持。全面升级了页面,增加管理接口以自动管理任务,性能和用户体验也都有所改善。
2. 安装Nexus
- 下载
https://help.sonatype.com/repomanager3
根据操作系统类型选择具体的安装包。官网几乎下载不动,可以从以下地址下载:
Nexus 3.x
代码语言:javascript复制链接:https://pan.baidu.com/s/1Cdo4kNpcv__cHmhtD1RMig 提取码:3pqx
https://download.csdn.net/download/qq_25996219/15902263
Nexus 2.x
代码语言:javascript复制https://pan.baidu.com/s/1pKFEzv9
- 安装
下载下来是一个zip压缩包,直接解压即可。这里解压到如下目录
代码语言:javascript复制C:jenkinsnexus3
Nexus的主目录分为两个,分别是安装目录和数据目录
安装目录
代码语言:javascript复制C:jenkinsnexus3nexus-3.30.0-01
数据目录
代码语言:javascript复制C:jenkinsnexus3sonatype-worknexus3
3. 启动Nexus
直接双击 bin 目录下的 nexus.exe 文件是无法启动 Nexus的。需要打开一个 cmd 命令行窗口,然后进入该目录,执行命令
代码语言:javascript复制nexus.exe /run
出现上图标红框里的提示说明启动成功,可以访问如下地址验证是否启动成功。
代码语言:javascript复制http://localhost:8081
管理员 admin 的密码存储在如下文件
代码语言:javascript复制C:jenkinsnexus3sonatype-worknexus3admin.password
4. Nexus说明
4.1 仓库类型说明
Nexus 可以配置3种类型的仓库,分别是proxy、hosted、group。
- Proxy 远程仓库的代理:比如说在Nexus中配置了central repository的proxy,当用户向这个proxy请求一个构件时,这个proxy就会先在本地查找,如果找不到的话,再去远程仓库下载,返回给用户。相当于一个中转的作用。
- Hosted 宿主仓库:用户可以把一些自己的构件,deploy 到 hosted 中。
- Group 仓库组:在 Maven 里没有这个概念,是 Nexus 特有;目的是将上述多个仓库聚合,对用户暴露统一的地址,这样用户就不需要配置多个地址,只要统一配置 Group 地址就OK了。
4.2 仓库说明
- Central Repository 的 proxy 可能就是最关键的一个配置,因为绝大部分构件都是通过这个 proxy 得到的。在安装完 Nexus,这个 proxy 是预置的,代理了远程服务
https://repo1.maven.org/maven2/
,网上有一些其他公开的Maven仓库,可以用同样的办法,在Nexus中配置Proxy (如下图maven-public) - Hosted Repository 一般会配置3个,分别是3rd party,snapshots,releases,分别用来保存第三方的 jar,公司内部 jar 包的快照,公司内部的发布版 (如下图 maven-releases,maven-snapshots)
- Group Repository 是一个虚拟的仓库,通过对实体仓库聚合对外暴露统一的地址 (如下图maven-public)