[转]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仅仅是私服的一种。

http://blog.csdn.net/liusong0605/article/details/25654811

时间: 2024-09-26 18:35:06

[转]Maven与nexus关系的相关文章

Maven与nexus关系

一.了解Maven,Maven用来干什么呢 1. 优秀的构建工具 通过简单的命令,能够完成清理.编译.测试.打包.部署等一系列过程.同时,不得不提的是,Maven是跨平台的,无论是在Windows.还是在Linux或Mac上,都可以使用同样的命令. 2. 依赖管理工具 项目依赖的第三方的开源类库,都可以通过依赖的方式引入到项目中来.代替了原来需要首先下载第三方jar,再加入到项目中的方式.从而更好的解决了合作开发中依赖增多.版本不一致.版本冲突.依赖臃肿等问题. 具体是怎么实现的呢?Maven通

Maven之——Nexus权限管理与调度任务

Maven之--Nexus权限管理与调度任务 1.    Nexus的权限管理 出于安全性考虑.需要对Nexus仓库进行权限管理.比如只有管理员才能配置Nexus.某个项目组有特定的仓库.等等 2.    Nexus的访问控制模型 Nexus基于权限(Privilege)做访问控制的.一个用户可以被赋予一个或者多个角色.一个角色可以包含一个或者多个权限.还可以包含一个或者多个角色.用户必须拥有相应的角色继而拥有相应权限.才能做相应操作. Nexus预定义了三个用户.以admin登录.单击左边导航

maven+jenkins+nexus+git 持续集成

一.背景介绍 随着互联网的普及,项目的规模不断扩大,持续集成变的相当重要. 当项目的规模变大,动辄几十个项目要维护的时候,就会给开发.部署.集成测试带来极大的挑战. 二.maven简单介绍 maven主要用途为项目构建.依赖管理.项目信息管理. 简单安装:下载maven http://maven.apache.org/download.cgi,配置环境变量 MAVEN_HOME为maven安装目录,PATH环境变量最后附加上";%MAVEN_HOME%\bin". 打开cmd,输入mv

[转]Maven与nexus

开始在使用Maven时,总是会听到nexus这个词,一会儿maven,一会儿nexus,当时很是困惑,nexus是什么呢,为什么它总是和maven一起被提到呢? 我们一步一步来了解吧. 一.了解Maven,Maven用来干什么呢 1. 优秀的构建工具 通过简单的命令,能够完成清理.编译.测试.打包.部署等一系列过程.同时,不得不提的是,Maven是跨平台的,无论是在Windows.还是在Linux或Mac上,都可以使用同样的命令. 2. 依赖管理工具 项目依赖的第三方的开源类库,都可以通过依赖的

初识Maven与nexus,及nexus安装

一.了解Maven 优秀的构建工具通过简单的命令,能够完成清理.编译.测试.打包.部署等一系列过程.同时,Maven跨平台,无论是在Windows.还是在Linux或Mac上,都可以使用同样的命令. 2.?依赖管理工具项目依赖的第三方的开源类库,都可以通过依赖的方式引入到项目中来.代替了原来需要首先下载第三方jar,再加入到项目中的方式.从而更好的解决了合作开发中依赖增多.版本不一致.版本冲突.依赖臃肿等问题. 具体是怎么实现的呢?Maven通过坐标系统准确的定位每一个构件,即通过坐标找到对应的

Maven与nexus

开始在使用Maven时,总是会听到nexus这个词,一会儿maven,一会儿nexus,当时很是困惑,nexus是什么呢,为什么它总是和maven一起被提到呢? 我们一步一步来了解吧. 一.了解Maven,Maven用来干什么呢 1. 优秀的构建工具 通过简单的命令,能够完成清理.编译.测试.打包.部署等一系列过程.同时,不得不提的是,Maven是跨平台的,无论是在Windows.还是在Linux或Mac上,都可以使用同样的命令. 2. 依赖管理工具 项目依赖的第三方的开源类库,都可以通过依赖的

部署Maven与Nexus(私服)

博文大纲:一.Maven简介1)Maven的功能:2)Maven使用场景(从运维人员的角度来看):3)Maven仓库二.部署Maven1)配置jdk环境2)部署Maven三.部署Nexus私服1)Nexus简介2)部署Nexus四.Maven配置nexus私服,将远程仓库设置成本地搭建的Nexus私服1)修改maven的主配置文件2)创建一个maven项目进行测试3)配置认证,将打包好的项目上传到nexus中4)上传到maven-release仓库5)上传第三方maven 一.Maven简介 M

Maven之——Nexus私服

Maven之--Nexus私服 1.    Nexus简介 2005年12月.TamasCservernak由于受不了匈牙利电信ADSL的低速度.开始着手开发Proximily.可以代理并缓存Maven构件.2007被Sonatype邀请参与创建一个Maven仓库管理软件.这就是后来的Nexus.牛人总是在不经意间显露着他们的能力与才华. Nexus有开源版和专业版.专业版收费.下面的都是建立在开源版的Nexus. 2.    Nexus安装 Nexus本身是典型的JavaWeb应用.ExtJS

Maven之——Nexus仓库与仓库组

Maven之--Nexus仓库与仓库组 1.    Nexus的仓库与仓库组 Nexus包含多种仓库概念.包括主要的宿主仓库.代理仓库.仓库组等.不同仓库提供不同配置.服务. 代理仓库主要是提供下载缓存构件和插件.如果只是从远程仓库下载构件和插件.那么代理仓库完全足够.宿主仓库主要用于存放项目部署的构件.或者第三方构件用于提供下载. 2.    Nexus内置仓库 Nexus预先配置了一些仓库.如果符合我们使用要求的话.则可以直接使用.简化配置.使用admin/admin123登录.点击左侧导航