如何快速搭建 Maven私服Nexus【实践可行版】
搭建私服Nexus
Nexus 一般用来搭建位于组织或公司内部的 Maven 私服,代理所有的仓库(包括中央仓库),用户通过它就可以获取和管理所有所需的 Maven 构件。
Nexus 开源版具有以下优点:
- 占用内存小(28 M 左右)
- 具有基于 ExtJs 得操作界面,用户体验较好
- 使用基于 Restlet 的完全 REST API
- 支持代理仓库、宿主仓库和仓库组
- 基于文件系统,不需要依赖数据库
- 支持仓库管理
- 支持构件搜索
- 支持在界面上上传构件
这些优点使其日趋成为最流行的 Maven 仓库管理器。
下载和安装Nexus
目前 Nexus 分为 Nexus 2.x 和 Nexus 3.x 两个大版本,它们是并行的关系,目前使用最多,运行最稳定的是 Nexus 2.x。
1. 进入 Nexus 2.x 下载页面,根据本机操作系统,选择对应的版本进行下载,如下图所示。
2. 将下载 Nexus 安装包解压到本地磁盘,可获得 nexus-2.15.1-02 和 sonatype-work 2 个目录,如下图。
其中:
- nexus-2.15.1-02:该目录中包含了 Nexus 2.x 运行所需要的文件,如启动脚本、依赖 jar 包等。
- sonatype-work:该目录中包含了 Nexus 2.x 生成的配置文件、日志文件等。
nexus-2.15.1-02 目录说明,如下表所示。
子目录 | 说明 |
---|---|
bin | 命令中心(启动命令,关闭命令) |
conf | 配置中心(管理着仓库列表、日志配置,以及安全设置) |
lib | Nexus 的库文件,Nexus 运行时需要的 jar 包所在的目录 |
logs | 存放日志文件 |
nexus | Nexus 应用程序 |
tmp | 存放Nexus 运行时产生的临时文件 |
运行和使用Nexus
进入 \nexus-2.15.1-02\bin\jsw 文件夹,根须操作系统版本选择合适的目录,由于我的操作系统是 Windows 11 64 位,所以我选择 windows-x86-64 目录,如下图所示。
其中:
- console-nexus.bat:启动 Nexus 并在 DOS 命令行中展示启动过程。
- install-nexus.bat:将 Nexus 安装为 Windows 服务,开机自动启动。
- start-nexus.bat:启动 Nexus。
- stops-nexus.bat:停止 Nexus。
- uninstall-nexus.bat:与 install-nexus.bat 相对应,负责卸载 Nexus 服务。
3. 双击运行 install-nexus.bat 安装 Nexus 服务,然后运行 start-nexus.bat 启动服务。
注意:
- 运行 install-nexus.bat 安装服务,若提示”wrapper | OpenSCManager failed - 拒绝访问。 (0x5)“,只要关闭窗口,以管理员身份运行即可解决。
- 运行 start-nexus.bat 启动服务,若提示”wrapper | OpenSCManager failed - 拒绝访问。 (0x5)“,只要关闭窗口,以管理员身份运行即可解决。
4. 访问 http://localhost:8081/nexus,结果如下图,则表示服务启动成功,否则表示服务启动失败。
默认管理员账号为admin密码为admin123
Nexus离线更新中央仓库索引
我们知道 Nexus 可以远程下载和缓存中央仓库索引,但是对于国内用户来说,Nexus 远程更新索引使用的站点位于国外且部分索引文件较大,经常会出现下载速度缓慢或索引文件不完整等情况。下面我们将介绍一种更加快捷可靠的索引更新方式:离线更新中央仓库索引。
离线更新中央仓库索引,顾名思义,就是直接将索引文件下载,然后拷贝至 Nexus 工作目录中,以达到离线更新索引的目的。
离线更新中央仓库索引主要分为以下 3 步:
- 文件下载
- 解压
- 更新并验证索引
文件下载
首先,我们需要下载以下 3 个文件:
- nexus-maven-repository-index.gz
- nexus-maven-repository-index.properties
- indexer-cli-5.1.1.jar
1、下载索引文件:
https://repo1.maven.org/maven2/.index/
或者
http://repo.maven.apache.org/maven2/.index/
2、下载索引生成器浏览器访问 http://mvnrepository.com/,搜索 Indexer CLI,选择 Maven :: Indexer CLI,如图 2 所示。
maven.outofmemory.cn/org.apache.maven.indexer/indexer-cli/
把下载的文件放在同一目录
命令窗口定位到该目录然后执行执行:
java -jar indexer-cli-5.1.1.jar -u nexus-maven-repository-index.gz -d indexer
等待几分钟,先关闭nexus服务,
更新并验证索引 将所有索引文件(不包含目录)全部拷贝到“Nexus\sonatype-work\nexus\indexer\central-ctx”目录中
重启 Nexus,在仓库列表中,选中 Central 代理仓库,然后点击 Browse Index 选项卡