开始在使用Maven时,总是会听到nexus这个词,一会儿maven,一会儿nexus,当时很是困惑,nexus是什么呢,为什么它总是和maven一起被提到呢?

我们一步一步来了解吧。

一、了解Maven,Maven用来干什么呢

1. 优秀的构建工具

通过简单的命令,能够完成清理、编译、测试、打包、部署等一系列过程。同时,不得不提的是,Maven是跨平台的,无论是在Windows、还是在Linux或Mac上,都可以使用同样的命令。

2. 依赖管理工具

项目依赖的第三方的开源类库,都可以通过依赖的方式引入到项目中来。代替了原来需要首先下载第三方jar,再加入到项目中的方式。从而更好的解决了合作开发中依赖增多、版本不一致、版本冲突、依赖臃肿等问题。

具体是怎么实现的呢?Maven通过坐标系统准确的定位每一个构件,即通过坐标找到对应的java类库。

3. 项目信息管理工具

能够管理项目描述、开发者列表、版本控制系统地址、许可证等一些比较零散的项目信息。除了直接的项目信息,通过Maven自动生成的站点,以及一些已有的插件,还能够轻松获得项目文档、测试报告、静态分析报告、源码版本、日志报告等非常具有价值的项目信息。

二、 Maven与Nexus

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

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

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

当Maven根据坐标寻找构件时,它首先会查看本地仓库,如果本地仓库存在此构件,则直接使用;如果本地仓库不存在此构件,或者需要查看是否有更新的构件版本,Maven会去远程仓库查找,发现需要的构件之后,下载到本地仓库再使用。

到了这里,问题的答案也就出来了。

首先,Nexus是一种远程仓库,根据上段的介绍,我们已经知道远程仓库的作用。在远程仓库中,默认的是中央仓库,中央仓库是Maven核心自带的远程仓库。那就使用中央仓库不就得了吗,为什么我们要安装Nexus呢?

我们从项目实际开发来看:

1.一些无法从外部仓库下载的构件,例如内部的项目还能部署到私服上,以便供其他依赖项目使用。

2. 为了节省带宽和时间,在局域网内架设一个私有的仓库服务器,用其代理所有外部的远程仓库。当本地Maven项目需要下载构件时,先去私服请求,如果私服没有,则再去远程仓库请求,从远程仓库下载构件后,把构件缓存在私服上。这样,及时暂时没有Internet链接,由于私服已经缓存了大量构件,整个项目还是可以正常使用的。同时,也降低了中央仓库的负荷。

Nexus仅仅是私服的一种。

Maven与nexus相关推荐

  1. maven私服nexus搭建(windows)

    1.下载nexus 地址:https://www.sonatype.com/download-oss-sonatype 下载相应版本的zip包. 2.安装nexus 下载完成后,解压到本地任意目录. ...

  2. Maven:私服Nexus的安装

    QUESTION:Maven:私服Nexus的安装 目录 QUESTION:Maven:私服Nexus的安装 ANWSER: 1.1 简介: 1.2 下载: 1.3 配置nexus 1.4 nexus ...

  3. Maven私服Nexus搭建

    Maven私服Nexus搭建 一.目的 私服是一台独立的服务器,用于解决团队内部的资源共享与资源同步问题 二.搭建流程 2.1 软件安装 2.1 环境准备: Sonatype公司的一款maven私服产 ...

  4. 从maven私服(nexus)拉取jar文件,解析项目pom依赖信息

    一.前言 关于pom解析的方式,常见的我认为有两种: 一种是利用dom tree的结构特性,利用dom4j提供的xml解析工具将pom文件读取为dom tree结构,再层层解析出内容. 第二种方式更为 ...

  5. Maven之Nexus局域网私服的搭建以及上传下载的测试

    Maven之Nexus局域网私服的搭建 公司在自己的局域网内搭建自己的远程仓库服务器,称为私服,私服服务器即是公司内部的maven远程仓库,每个员工的电脑上安装maven软件并且连接私服服务器,员工将 ...

  6. Maven配置nexus私服地址

    一般java开发都会用到nexus私服,这里记录一下maven配置nexus私服地址的步骤 配置全局和本用户下两个setting.xml 镜像地址 一般maven本地用户的配置文件在我的文档目录下.m ...

  7. 配置maven私服nexus

    1.Nexus简介 1.1 Nexus概述 Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问. 利用Nexus你可以只在一个地方就能够完全控制访问和部署在你 ...

  8. Jenkins CI服务器搭建及Maven私服Nexus

    Jenkins CI服务器搭建及Maven私服Nexus 一:Jenkins持续集成(CI)1 1.1:Jenkins简介及特性1 1.2:Jenkins安装1 1.3:Jenkins配置1 1.4: ...

  9. 配置Maven从Nexus下载构件

    配置Maven从Nexus下载构件  当需要为项目添加Nexus私服上的public仓库时,配置如下: <project>     ...     <repositories> ...

最新文章

  1. 验算双中心重叠积分程序
  2. windows服务又界面吗_详解远程桌面协议, Linux 和 Windows 间的远程桌面互相访问(RDP、VNC协议)...
  3. 史上最经典的数据库面试题之二
  4. val_loss突然变很大_程干朋说网络营销之网站收录突然降低怎么办?
  5. 2019第十届蓝桥杯C/C++ A组省赛 —— 第三题: 最大降雨量
  6. 《大规模Web服务开发技术》
  7. [Spark]PySpark入门学习教程---介绍(1)
  8. c语言写的心理测试,写了个心理测试的c程序(*^__^*) 嘻嘻……
  9. 【Java】一个List按照另一个List的数据顺序来排序
  10. DirectUI的初步分析-转
  11. windows server2019共享选项中网络发现无法启用
  12. E-mark认证是什么?
  13. c++ vector基本函数、排序、查找用法
  14. Linux WiFi使用
  15. macOS 安装 Adobe Zii 2019 for Adobe
  16. 苹果手机怎么在照片上添加文字_给微信拍照的照片添加文字,调整后期效果,手机两步完成...
  17. 图书馆学专业学c语言吗,图书馆学专业介绍及考研院校排名
  18. 炎龙骑士团-黄金城之迷剧情
  19. linux版cs中文版下载,在linux下也能玩CS游戏了 呵呵~~
  20. 图像算法处理知识集合

热门文章

  1. 【精品】服务端 架构演进 历程
  2. Intellij IDEA——启动Tomcat控制台输出繁体乱码
  3. Eclipse导入jar包并查看源代码
  4. 【面经】2019汇顶科技(固件开发)、地平线机器人(嵌入式)面经
  5. 【腾讯Bugly干货分享】Android 进程保活招式大全
  6. BCG 使用之CBCGPProgressDlgCtrl进度条使用
  7. 计算机按键上不上去,键盘打不了字按什么键调
  8. Android 简易的自定义确认弹框AlertDialog
  9. 论文他引次数及ESI高被引论文查询方法
  10. 一篇文章看清楚 Linux 的职业发展方向