Maven 使用 二——nexus
上篇博客介绍了创建maven项目的两种方式,当中一种是使用命令行的方式来创建,这种情况非常少,一般我们都有IDE开发环境。所以接下来,我们还是在一个详细的IDE中来说,我使用的是Eclipse。
一、nexus
maven的使用,当中一点便利就是对jar包的引用。我们不再须要费力的去拷贝jar,还有jar包的版本号的统一等。弄得项目中存在不同程度的jar包冗余,甚至不同模块的jar包版本号还不统一。
通过Maven,终于我们仅仅须要共享一份同样的资源就可以。
我们的local repository 的资源都是来自同一个地方:central repository。这个central repository 全世界仅仅有一个。资源甚多,我们开发项目须要的资源仅仅是沧海一粟,这来回訪问。消耗的时间怎么算。假设网不好,有怎么说?其二。central repository是为全人类服务的。那我们须要的那点资源也无法被我们管理;其三,团体项目不仅须要下载jar包,很多其它的时候,也须要把开发的jar包,像central repository中的资源一样。放到一个团体共享的地方,被团队调用。于是 nexus 出现了。
Nexus 是Maven仓库管理器,假设你使用Maven,你能够从Maven中央仓库 下载所须要的构件(artifact)。但这通常不是一个好的做法。你应该在本地架设一个Maven仓库server,在代理远程仓库的同一时候维护本地仓库。以节省带宽和时间。Nexus就能够满足这种须要。此外。他还提供了强大的仓库管理功能,构件搜索功能,它基于REST。友好的UI是一个extjs的RESTclient。它占用较少的内存,基于简单文件系统而非数据库。
这些长处使其日趋成为最流行的Maven仓库管理器。
nexus + maven 能给我们带来极大便利。
二、Nexus 安装
Nexus通常是搭建在局域网内的,共团队合作开发。管理jar包。
你能够从http://nexus.sonatype.org/downloads/ 下载最新版本号的Nexus。Nexus提供了两种安装方式,一种是内嵌Jetty的bundle,仅仅要你有JRE就能直接执行。
另外一种方式是WAR,你仅仅须简单的将其公布到web容器中就可以使用。我使用的就是第一种方式,另外一种木有尝试。
bundle方式安装
- 解压nexus-2.5.1-bundle.zip到D:\nexus\nexus-2.5.1-bundle\(可自己定义)
- 进入nexus\nexus-2.5.1-01\bin\jsw 进入对应的系统目录(若系统位64位,jdk位32位。则应进入32位的目录下,如:win8 64位系统安装32位JDK,则进入windows-x86-32目录)
- 右键install-nexus.bat 文件,使用管理员权限执行。第一次执行界面一闪而过,能够再次执行确定是否成功
右键start-nexus.bat 文件。使用管理员权限执行。成功之后对话框消失,若出现错误,请确认nexus与JDK版本号是否匹配。规则例如以下:
1.6的JDK支持2.5版本号下面的Nexus
1.7版本号的JDK支持2.6版本号下面的Nexus
64位的系统相对上述规则支持的Nexus版本号更低浏览器输入http://192.168.24.252:8081/nexus (192.168.24.252为nexus安装serverip地址),出现例如以下界面则nexus成功安装。
8081为默认的port号。要改动port号可进入nexus-2.1.2-bundle\nexus-2.1.2\conf\打开nexus.properties文件,改动application-port属性值就能够了。开启远程索引
通常到这里,对于nexus的安装还不算完美, 新搭建的neuxs环境仅仅是一个空的仓库,须要手动和远程中心库进行同步。nexus默认是关闭远程索引下载,最重要的一件事情就是开启远程索引下载。登陆nexus系统,默认usernamepassword为admin/admin123。
点击左边Administration菜单下面的Repositories。找到右边仓库列表中的Central,——》configuration下把Download Remote Indexes改动为true。例如以下图
等待其下载完毕。有时网速比較慢,可能等待的时间比較长,是否如今成功,在 browse index 中进行验证。如图:
假设下载完毕,能够体验一下效果,在左边菜单条里面有个Artifact Search, 在输入框里面输入你想要搜索的构件名字,比方:junit, 右边显示出全部的查询结果,就成功了。
三、nexus 配置
repository
nexus的仓库类型分为下面四种:
group: 仓库组
hosted:宿主
proxy:代理
virtual:虚拟
同一时候 nexus中存在 repository group的概念,利用这个group 能够进行批量的管理。
每一个repository的简要解释例如以下:
1. 3rd party: 无法从公共仓库获得的第三方公布版本号的构件仓库
2. 特定repository ,有两个。 Apache Snapshots和 Codehaus Snapshots,分别代理ApacheMaven和CodehausMaven 仓库的快照版本号构件的仓库
3. Central: 用来代理maven中央仓库中公布版本号构件的仓库
4. Central M1 shadow: 用于提供中央仓库中M1格式的公布版本号的构件镜像仓库
5. 内部版本号repository: Releases和Snapshots。
当然我们也能够自己创建repository。
authority
在权限设置这块,仅仅要包括下面三个部分。
1. privilege
2. role
3. user
我们能够自己定义设置这三个部分。顺序由上自下,操作步骤都非常easy,这里就不做演示。
nexus能够让maven变得更强大。他们之间的关系图例如以下:
Maven 使用 二——nexus的更多相关文章
- Linux安装配置maven以及搭建nexus私服(编写启动脚本)
2011年07月12日16:32 下面介绍在Linux操作系统下安装配置maven和搭建nexus私服. 一.安装前的准备 下载 jdk http://www.oracle.com/technetw ...
- 【Maven学习】Nexus私服代理其他第三方的Maven仓库
一.背景 [Maven学习]Nexus OSS私服仓库的安装和配置 http://blog.csdn.net/ouyang_peng/article/details/78793038 [Maven学习 ...
- 【Maven学习】Nexus OSS私服仓库的备份与迁移
背景 在上一篇博客 [Maven学习]Nexus OSS私服仓库的安装和配置 中,我们已经在机房搭建好了新的Nexus OSS私服仓库.下面是两个版本的Nexus OSS私服仓库的对比图. 老的Nex ...
- 3.发布Maven项目到nexus中
1.在pom.xml文件中配置需要发布的工厂 如果想把项目发布到nexus中,需要在pom.xml中配置releases和snapshots版本发布的具体repository <distribu ...
- maven(项目管理工具系列 maven 总结二)
♣maven是什么? ♣maven下载.安装 ♣了解maven仓库 ♣eclipse配置maven ♣创建maven项目 ♣把maven项目转化为web项目 1.maven是什么? Maven是一个项 ...
- window Maven私服搭建——nexus
注:本文来源于 <window Maven私服搭建--nexus> Maven私服搭建--nexus 1.下载nexus https://www.sonatype.com/downlo ...
- 让maven项目使用nexus作为远程仓库
让maven项目使用nexus作为远程仓库有两种方式,第一种是在项目的pom.xml中进行更改,让单个项目使用nexus仓库:另一种是通过修改maven的配置文件settings.xml进行更改,让所 ...
- Maven私服架设(nexus / on windows)
Maven私服可以用多个不同的产品可供选择,下面我们演示使用最为广泛的nexus来架设maven本地私服 Nexus的下载及安装请见官方下载页: http://www.sonatype.org/n ...
- 异常Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.12.4 from http://maven.aliyun.com/nexus/content/groups/public was ...
错误异常:Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.12.4 from http://maven ...
随机推荐
- ZOJ1003 Crashing Balloon
Crashing Balloon Time Limit: 2 Seconds Memory Limit: 65536 KB On every June 1st, the Children's ...
- POJ2245 Lotto
Lotto Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6634 Accepted: 4201 Description ...
- Mac-装机
不过大家可别被「命令行」三个字吓到,其实你只需按步骤来,复制粘贴命令即可快速完成,事实上是很简单的. 一.准备工作: 准备一个 8GB 或以上容量的 U 盘,确保里面的数据已经妥善备份好(该过程会抹掉 ...
- Javascript传参参考
可参考的细节: <!doctype html> <html lang="en"> <head> <meta charset="U ...
- Python与Mysql交互
#转载请联系 在写内容之前,先放一张图,bling- 这张图算是比较详细的表达出了web开发都需要什么.用户访问网页,就是访问服务器的网页文件.这些网页文件由前端工程师编写的.服务器通常用nginx/ ...
- String、ANSIString、PChar及TBytes之间的转换 BytesOf move stringof
一.string转为ansistring 1.直接赋值 (有警告)2.ansistring()类型强制转换.(无警告) 二.ansistring 转为string 1.直接赋值 (有警告)2.stri ...
- Selenium2+python自动化63-简易项目搭建【转载】
前言 到unittest这里基本上可以搭建一个简易的项目框架了,我们可以用一条run_main.py脚本去控制执行所有的用例,并生成报告,发送邮件一系列的动作 一.新建工程 1.打开pycharm左上 ...
- DevExpress控件-GridControl根据条件改变单元格/行颜色(Dev GridControl 单元格着色) z
DevExpress控件-数据控件GridControl,有时我们需要根据特定条件改变符合条件的行或者单元格颜色达到突出显示目的,现在动起鼠标跟我一起操作吧,对的,要达到这个目的您甚至都不用动键盘. ...
- Java的Math-BigInteger-Random类概述
1. Math类 Math类在java.lang包中. 常用的方法有 Math.abs(double x)返回x的绝对值. Math.max(double x,double y)返回x和y的 ...
- jquery禁用select和取消禁用
$("#id").attr("disabled","disabled"); $("#id").removeAttr(&q ...