Nexus介绍

Nexus是一个强大的Maven仓库管理器,它极大地简化了本地内部仓库的维护和外部仓库的访问。 如果使用了公共的Maven仓库服务器,可以从Maven中央仓库下载所需要的构件(Artifact),但这通常不是一个好的做法。
正常做法是在本地架设一个Maven仓库服务器,即利用Nexus私服可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个Artifact。
Nexus在代理远程仓库的同时维护本地仓库,以降低中央仓库的负荷,节省外网带宽和时间,Nexus私服就可以满足这样的需要。
Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。
Nexus支持WebDAV与LDAP安全身份认证。
Nexus还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,它占用较少的内存,基于简单文件系统而非数据库。

为什么要构建Nexus私服?
如果没有Nexus私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载和浪费了外网带宽,如果网速慢的话,还会影响项目的进程。很多情况下项目的开发都是在内网进行的,连接不到maven仓库怎么办呢?开发的公共构件怎么让其它项目使用?这个时候我们不得不为自己的团队搭建属于自己的maven私服,这样既节省了网络带宽也会加速项目搭建的进程,当然前提条件就是你的私服中拥有项目所需的所有构件。

nexus私服的优点:
1)加速构建; 2)节省带宽; 3)节省中央maven仓库的带宽; 4)稳定(应付一旦中央服务器出问题的情况) 5)控制和审计; 6)能够部署第三方构件; 7)可以建立本地内部仓库 8)可以建立公共仓库


Maven与Nexus的之间关系

这个问题从Maven的第二个用处说起,依赖管理,通过在Pom中指定坐标的形式将jar引入到项目中。那这个过程,要经历怎样一个流程呢?从哪里寻找jar?下载的jar放到哪里?

将这个问题顺下来,就知道nexus和maven的关系了。

从哪里找到jar?项目用到的jar又存放在哪里?这引出了仓库的概念,maven通过仓库来统一管理各种构件。Maven的仓库分为本地仓库和远程仓库

nexus只是maven私有仓库的其中一种

私服介绍
私服是指私有服务器,是假设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构建.有了私服之后,当maven需要下载构件时,直接请求私服,私服上存在则下载到本地仓库;否则,私服请求外部的远程仓库,将构件下载到私服,在提供给本地仓库下载.



1、主页界面

1.1  Search

这个就是类似Maven仓库上的搜索功能,就是从私服上查找是否有哪些包。

注意:在Search这级是支持模糊搜索的

1.2  Browse

查看所有的仓库名

点开一个仓库,可以看到上传的包

1.3 Upload(顾名思义就是上传jar包到私服中,可以选择其中一个hosted仓库)

注意:通过页面直接上传的方式只是上传了jar包,若这个jar通过Maven依赖了其他jar,那其他项目在下载这个jar时无法取得它的依赖。所以,除非这个jar没有任何依赖,否则还是推荐通过命令行或者IDE的方式上传jar包,这样才会把pom一并上传。


2、Server Adminstration And configuration

看到这选项是要进行登录的,在右上角点击“Sign In”的登录按钮,输入admin/admin123,登录成功之后,即可看到此功能,如图所示:

2.1  Repository

2.1.1 Blob Stores

文件存储的地方,创建一个目录的话,对应文件系统的一个目录,如图所示我已经创建了两个额外的存储块:后面创建仓库的时候可以选择要使用的存储块

2.1.2 Repositories 仓库分为三种:Proxy、hosted、group

2.1.2.1 Proxy

这里就是代理的意思,代理中央Maven仓库,当PC访问中央库的时候,先通过Proxy下载到Nexus仓库,然后再从Nexus仓库下载到PC本地。

这样的优势只要其中一个人从中央库下来了,以后大家都是从Nexus私服上进行下来,私服一般部署在内网,这样大大节约的宽带。

创建Proxy的具体步骤

1、点击左上角的“Create Repositories”按钮

2、选择要创建的类型

3、填写详细信息

Name:就是为代理起个名字,我取名为“aliyun”

Remote Storage: 代理的地址,Maven的地址为: https://repo1.maven.org/maven2/,但Maven官方的代理访问速度太慢了,使用阿里云的Maven代理更好,http://maven.aliyun.com/nexus/content/groups/public

Blob Store: 选择代理下载包的存放路径,我选择的是之前创建的一个。

2.1.2.2 Hosted

Hosted是宿主机的意思,用于将第三方的Jar或者我们自己的jar放到私服上。

Hosted有三种方式,Releases、SNAPSHOT、Mixed

Releases: 一般是已经发布的Jar包

Snapshot: 未发布的版本

Mixed:混合的

Hosted的创建和Proxy类似,类型需选择maven2(hosted)。

注意:Deployment Pollcy,我们需要把策略改成“Allow redeploy”,以允许重复发布覆盖同版本的jar包。

2.1.2.3 Group

能把多个仓库合成一个仓库来使用,把上几步创建的代理仓库和宿主仓库都加入到“maven-public”仓库组中:

2.2  Security

包含用户、角色、权限的配置。

2.3  Support

包含日志及数据分析。

2.4  System

包含API(Nexus这个API文档貌似是用swagger做的)、邮件服务器,设置调度任务等。

Nexus3 功能介绍相关推荐

  1. Linux Nexus3.X介绍与操作

    目录 一.Nexus介绍 为什么要构建Nexus私服? 在本地构建Nexus私服的好处 二.Nexus 手动安装 java 安装 Nexus安装 补充 产品界面及功能介绍 基本仓库 主菜单一 主菜单二 ...

  2. HiCar基本功能介绍

    HiCar基本功能介绍 基本概述 一方面,基于操作系统超强的分布式能力,HUAWEI HiCar通过手机和汽车之间的连接,基于三层标准与能力,构建手机和汽车互助资源池,把手机的服务生态延伸到车内,实现 ...

  3. vs2008\drivers\opengl_2.h.c_opengl基本功能介绍+示例

    /**** openGL上的画点函数 即基本功能介绍 *****/ /***************************************************************** ...

  4. 大白菜软件常用功能介绍

    大白菜软件常用功能介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.刻录光盘介绍 1.选择你需要的刻录的光盘 2.点击刻录光盘 3.确认之后点击刻录 4.等待刻录完成 转载于 ...

  5. Redis Manager 主要功能介绍

    GitHub: github.com/ngbdf/redis- Redis Manager 是 Redis 一站式管理平台,支持集群的创建.管理.监控和报警. 集群创建:包含了三种方式 Docker. ...

  6. 键盘上的F1,F2,……,F12的各功能介绍

    键盘上的F1,F2,--,F12的各功能介绍 一般情况下,键盘上有12个功能键,统称为Fn键. F1:如果我们在一个选定的程序或页面中并且需要帮助,那么请按下F1.如果现在不是处在任何程序中,而是处在 ...

  7. TEASOFT辅助服务程序UDPCopy 功能介绍

    简 介: 借助于嵌入式工控机作为音乐伺服器,完成背景音乐输出控制.本文总结了TEASOFT相应的控制命令.除了现在的功能之外,还需要进一步补充MUSIC嵌套功能. 关键词: MUSIC,TEASOFT ...

  8. iOS Simulator功能介绍关于Xamarin IOS开发

    iOS Simulator功能介绍关于Xamarin IOS开发 iOS Simulator功能介绍 在图1.38所示的运行效果中,所见到的类似于手机的模型就是iOS Simulator.在没有iPh ...

  9. Istio所有模块、Service、Pod的功能介绍

    [TOC] Istio所有模块.Service.Pod的功能介绍 Istio模块 Proxy(Envoy) 流量代理,不可缺少 Pilot 服务发现.流量管理.智能路由等 Mixer 遥测相关 Cit ...

  10. grep 模糊匹配_vim 的模糊查找插件 LeaderF 新功能介绍(二)

    前言 本文介绍自<vim 的模糊查找插件 LeaderF 新功能介绍>以后,LeaderF增加的一些新的功能. 异步grep Leaderf rg 此功能已经在<vim的grep插件 ...

最新文章

  1. 监控、链路追踪、日志这三者有何区别?
  2. 考那么多试,拿那么高分,大模型们真的懂语言了吗?
  3. IntelliJ IDEA使用心得
  4. BUG: Setup Was Unable to Create a DCOM User Account Error Message in Visual Studio 6.0
  5. sql语句创建唯一索引
  6. matplotlib 可视化 —— style sheets
  7. oreo另一个意思_other和another区别:两种不同的“另一个”
  8. python怎么读取csv文件-python如何读取csv数据
  9. python对csv文件中的数据进行分类_python 数据处理 对csv文件进行数据处理
  10. Mac上emacs标记快捷键
  11. sendkeys安装包_利用Windows命令行解压zip压缩文件(不借助第三方软件)
  12. 以太坊网络重启并开启rpc
  13. Sicily 1782. Knapsack
  14. Opencv批量处理图片的两种方法
  15. 【PyTorch】保存和载入模型的两种方法
  16. 错误(mailed 59 bytes of output but got status 0x004b#012)
  17. Mysql 分组查询top n(多种方法)
  18. 收集国人不良习惯 -- 有哪些不好的习惯敬请指出,那些不能算作不好的 只能说习俗不同也请指出
  19. 台大机器学习基石上_lesson 2
  20. ESP32-C3使用LEDC外设实现呼吸灯效果

热门文章

  1. python下载付费文档教程-python爬文档
  2. 钢构件建筑材料英国UKCA认证—EN 13381-4
  3. MFC网络通信程序设计——网络聊天室
  4. 【随笔】我的两年 ACM 回(心)忆(酸)录(路) 【多图预警】
  5. 蒙特卡洛模型——有约束的非线性规划问题
  6. 外螺纹对照表_螺纹螺距对照表
  7. JAVA输入/输出流详细讲解
  8. MicroSIP软电话的安装和使用--从电脑上接听和拨打电话
  9. 【对抗攻击代码实战】对抗样本的生成——FGSM
  10. HttpUtils工具类