如何快速搭建 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 选项卡

如何快速搭建 Maven私服Nexus【实践可行版】的更多相关文章
- Ubuntu server下搭建Maven私服Nexus
Ubuntu server下搭建Maven私服Nexus Maven私服Nexus的作用,主要是为了节省资源,在内部作为maven开发资源共享服务器来使用. 1.下载 通过root用户进去Ubuntu ...
- 【原创】Docker 搭建Maven私服nexus 3.17初始密码登录不上问题/admin登陆不上问题
[原创-转载请说明出处] 博主最近在虚拟机中搭建Maven私服,遇到了一个关键问题就是nexus 3.17版本后初始密码不是admin/admin123. 对于nexus不熟悉的我弄了很长时间!!!心 ...
- Linux下搭建maven私服Nexus 3.2.1-01
1. 私服介绍私服是指私有服务器,是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构建.有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库:否则, ...
- 持续集成之三:搭建Maven私服Nexus
安装环境 Red Hat Enterprise Linux Server release 7.3 (Maipo) jdk1.7.0_80 apache-tomcat-7.0.90 mysql-5.7. ...
- 基于Docker搭建Maven私服Nexus,Nexus详解
备注:首先在linux环境安装Java环境和Docker,私服需要的服务器性能和硬盘存储要高一点,内存不足可能到时启动失败,这里以4核8GLinux服务器做演示 一:基于Docker安装nexus3 ...
- CentOS7 搭建maven私服Nexus
下载解压 官网https://www.sonatype.com/download-oss-sonatype 下载页面 https://help.sonatype.com/repomanager2/do ...
- 快速搭建maven私服 Artifactory on Docker
1.下载官方镜像 docker pull docker.bintray.io/jfrog/artifactory-oss:latest 2.启动容器 docker run --name artifac ...
- Maven私服Nexus的搭建
# Maven私服Nexus的搭建 ## 私服存在的合理性 Maven中的依赖是从服务器仓库中下载的,Maven的仓库只有两大类: - 1) 本地仓库 - 2) 远程仓库,其中在远程仓库中又分成了3种 ...
- Centos 基础开发环境搭建之Maven私服nexus
hmaster 安装nexus及启动方式 /usr/local/nexus-2.6.3-01/bin ./nexus status Centos 基础开发环境搭建之Maven私服nexus . 软件 ...
- Maven学习 (四) 使用Nexus搭建Maven私服
为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到 ...
随机推荐
- laravel的_token传值 ; header中传_token
laravel框架中只要是涉及到post传值都需要传 _token ,这是框架中为了防止crsf攻击所做的安全措施,那么我们用到ajax中的post 方式传值时,也需要在所传数据中添加一个_token ...
- 我的Python基础(二)
python包含6种内奸的序列:列表.元组.字符串.Unicode字符串.buffer对象和xrange对象 列表和元组的主要区别在于,列表可以修改,元组则不能. 索引: 使用负数索引时,最后一个元素 ...
- Go语言核心36讲52
你好,我是郝林. 专栏到这里,就要结束了. 差不多在半年以前(2018年的第二个季度),极客时间的总编辑郭蕾找到我,说想让我写一个关于Go语言的技术专栏. 我那时候还在轻松筹担任大数据负责人,管理着四 ...
- 【每日一题】【暴力&双指针&动态规划】42. 接雨水-211130/220214
给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水. 方法1:暴力求解(超时) import java.util.*; public class Solu ...
- 【Java EE】Day12 XML、约束(DTD、Schema)、解析方式、Jsoup、选择器(Selector、XPath)
一.XML介绍 1.概述 Extensible Markup Language--可扩展标记语言 标记语言 :标签构成 可扩展:可以自定义标签 2.功能 存储数据 作为配置文件使用 作为数据载体在网络 ...
- Blazor 部署 pdf.js 不能正确显示中文资源解决办法
在Blazor项目嵌入 pdf.js 时不能正确显示中文,浏览器F12显示如下错误 错误 l10n.js /web/locale/locale.properties not found. 我找到了解决 ...
- js迭代循环
一.for loop for (let i = 0; i < products.length; i++) { console.log(products[i]); } 支持循环中断,可以用brea ...
- jmeter 之修改报告取样间隔时间以及APDEX 区间设置
1.取样间隔时间设置 在jmeter 生成的报告中取样间隔默认设置的是1分钟,而非1秒,故样本间的间隔为1分钟,如下图所示: 取样间隔时间可通过修改bin/user.properties配置文件实现自 ...
- ubuntu系统wireshark源码编译与安装
官网:https://www.wireshark.org/ 官方文档:Wireshark · Documentation 一 介绍 wireshark[1]是一款抓包工具.wireshark的GUI( ...
- C++进阶(位图+布隆过滤器的概念和实现+海量数据处理)
位图 概念 位图: 所谓位图,就是用每一位来存放某种状态,适用于海量数据,数据无重复的场景.通常是用来判断某个数据存不存在的. 适用场景: 如果我们需要对大量的数据进行处理,判断该数据在不在,比如40 ...