Maven与nexus
开始在使用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相关推荐
- maven私服nexus搭建(windows)
1.下载nexus 地址:https://www.sonatype.com/download-oss-sonatype 下载相应版本的zip包. 2.安装nexus 下载完成后,解压到本地任意目录. ...
- Maven:私服Nexus的安装
QUESTION:Maven:私服Nexus的安装 目录 QUESTION:Maven:私服Nexus的安装 ANWSER: 1.1 简介: 1.2 下载: 1.3 配置nexus 1.4 nexus ...
- Maven私服Nexus搭建
Maven私服Nexus搭建 一.目的 私服是一台独立的服务器,用于解决团队内部的资源共享与资源同步问题 二.搭建流程 2.1 软件安装 2.1 环境准备: Sonatype公司的一款maven私服产 ...
- 从maven私服(nexus)拉取jar文件,解析项目pom依赖信息
一.前言 关于pom解析的方式,常见的我认为有两种: 一种是利用dom tree的结构特性,利用dom4j提供的xml解析工具将pom文件读取为dom tree结构,再层层解析出内容. 第二种方式更为 ...
- Maven之Nexus局域网私服的搭建以及上传下载的测试
Maven之Nexus局域网私服的搭建 公司在自己的局域网内搭建自己的远程仓库服务器,称为私服,私服服务器即是公司内部的maven远程仓库,每个员工的电脑上安装maven软件并且连接私服服务器,员工将 ...
- Maven配置nexus私服地址
一般java开发都会用到nexus私服,这里记录一下maven配置nexus私服地址的步骤 配置全局和本用户下两个setting.xml 镜像地址 一般maven本地用户的配置文件在我的文档目录下.m ...
- 配置maven私服nexus
1.Nexus简介 1.1 Nexus概述 Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问. 利用Nexus你可以只在一个地方就能够完全控制访问和部署在你 ...
- 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: ...
- 配置Maven从Nexus下载构件
配置Maven从Nexus下载构件 当需要为项目添加Nexus私服上的public仓库时,配置如下: <project> ... <repositories> ...
最新文章
- 验算双中心重叠积分程序
- windows服务又界面吗_详解远程桌面协议, Linux 和 Windows 间的远程桌面互相访问(RDP、VNC协议)...
- 史上最经典的数据库面试题之二
- val_loss突然变很大_程干朋说网络营销之网站收录突然降低怎么办?
- 2019第十届蓝桥杯C/C++ A组省赛 —— 第三题: 最大降雨量
- 《大规模Web服务开发技术》
- [Spark]PySpark入门学习教程---介绍(1)
- c语言写的心理测试,写了个心理测试的c程序(*^__^*) 嘻嘻……
- 【Java】一个List按照另一个List的数据顺序来排序
- DirectUI的初步分析-转
- windows server2019共享选项中网络发现无法启用
- E-mark认证是什么?
- c++ vector基本函数、排序、查找用法
- Linux WiFi使用
- macOS 安装 Adobe Zii 2019 for Adobe
- 苹果手机怎么在照片上添加文字_给微信拍照的照片添加文字,调整后期效果,手机两步完成...
- 图书馆学专业学c语言吗,图书馆学专业介绍及考研院校排名
- 炎龙骑士团-黄金城之迷剧情
- linux版cs中文版下载,在linux下也能玩CS游戏了 呵呵~~
- 图像算法处理知识集合