什么是nexus?
nexus的中文意思是“关系”、“合流点”、“纽带”的意思,正如其中文意思,nexus就是作为maven与远程仓库(远程仓库就是外网上的一个jar依赖坐标标本)之间的纽带使用。
为什么使用nexus?
在不使用nexus的时候,新建maven项目,其相关的依赖,maven会根据依赖坐标会自动去maven的远程仓库去下载,并且maven默认的远程仓库是http://search.maven.org/#browse,我们也可以使用。当如果公司不提供外网给开发人员的时候,搭建自己的jar仓库是十分有必要的,并且设置为本地仓库,下载jar的时候连接的都是内网,减少带宽。
nexus特性
*较小的内存占用
*基于ExtJS的友好界面
*基于Restlet的完全REST API
*支持代理仓库,宿主仓库和仓库组
*基于文件系统,不需要数据库
*支持仓库索引和搜索
*支持从界面上上传maven构建
*细粒度的安全控制
nexus安装
可以从官网上下载:http://www.sonatype.org/nexus/go/,可以下载zip压缩包,也可以下载exe版本,以windows为例,我安装的是exe版本,在linux安装也是大同小异。
exe版本双击安装,点击下一步就ok。启动服务也很方便,点击开始中的nexus control panel,中的start按钮就可以启动仓库服务,如下图所示:
图所示:启动完毕后,在浏览器输入:http://localhost:8081/nexus/ 来访问nexus主界面。
在安装过程中我们可以设置其端口号,为了避免与8080端口重复,一般我们用8081,也可以在其配置文件中设置端口号,D:\nexu2.11.2-06\nexus-pro-trial-2.11.2-06\conf 的nexus.properties 文件中修改application-port=8081 ,再重启服务即可。
另一种安装方式:也可以下载压缩包,配置环境变量后,使用dos命令行来安装和启动服务,网上有很多例子,再次不赘述。
nexus详细说明
进入主界面,点击login in ,输入默认的用户名和密码,admin :admin123。点击repositories(中文意思,仓库),看到如下界面。
点击repositories中间显示的是仓库,仓库的类型,仓库策略等。介绍如下:
central:代理maven中心仓库,策略为Release(发布版本),因此只会下载和缓存中央仓库的发布版本。
3rd party:策略为Release,用来部署无法从中央仓库获得第三方发布构建版本。
apache snapshots:策略为snapshot(快照版本,可理解为开发中的版本)代理仓库,用来代理apache snapshots仓库的快照版本。
codehaus snapshots:这是一个策略为snapshot的代理仓库,用来代理codehaus maven仓库快照版本的构建。
public Repositories:该仓库将上述所有策略为Release的仓库聚合并通过一致的地址提供服务。
Release:策略为Release的宿主类型仓库,用来部署组织的发布版本构建。
Snapshots:策略为Snapshots的宿主类型仓库,用来部署组织快照版本构建。
test_maven:是自己创建的仓库。(可以先略过)
上述中的宿主仓库和代理仓库以及仓库组,这些概念可以看如下图:
宿主仓库可以理解为本地仓库,如下图中本地的项目,代理仓库是可从帮助我们从远程仓库下载,而仓库组是宿主仓库和某代理仓库的组合。
关于如何配置为nexus私服,就不赘述了,网上有很多这样的文档,下一篇maven in action(八)maven常用插件使用