--------------------------------------------------------------------------------------------------------------------------------
前言
---------------------------------------------------------------------------------------------------------------------------------
Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问 和部署在你所维护仓库中的每个Artifact。Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。Nexus使用ExtJS来开发界面,利用Restlet来提供完整的REST APIs,通过m2eclipse与Eclipse集成使用。Nexus支持WebDAV与LDAP安全身 份认证。
--------------------------------------------------------------------------------------------------------------------------------
nexus的下载和安装
---------------------------------------------------------------------------------------------------------------------------------
nexus的安装及配置请参考
目前的最新版本为nexus- 2.11.4-01 我用的就是这个
首先介绍一下
第一种:一种是内嵌Jetty的bundle,只要你有JRE就能直接运行。
--------------------------------------------------------------------------------------------------------------------------------
nexus的介绍及使用
---------------------------------------------------------------------------------------------------------------------------------
以下我们会依据以下几步来具体介绍nexus的使用
- 首先介绍nexus
- nexus的简单配置
- 添加宿主仓库
- 添加仓库组
- 如何搜索依赖
- 如何上传依赖到nexus
--------------------------------------------------------------------------------------------------------------------------------
1: 首先介绍nexus
---------------------------------------------------------------------------------------------------------------------------------
nexus的仓库类型分为以下四种:
-
hosted:宿主 本地仓库。
-
group: 仓库组
-
proxy:代理
-
virtual:虚拟
以下是这几种仓库的具体应用场景:
--------------------------------------------------------------------------------------------------------------------------------
2:nexus的简单配置
---------------------------------------------------------------------------------------------------------------------------------
开启远程索引
然后在Apache Snapshots,Codehaus Snapshots和Maven Central这三个仓库上分别右键,选择Repari Index,这样Nexus就会去下载远程的索引文件。


--------------------------------------------------------------------------------------------------------------------------------
3:添加宿主仓库
---------------------------------------------------------------------------------------------------------------------------------
新 建公司的内部仓库,步骤为Repositories –> Add –> Hosted Repository,在页面的下半部分输入框
中填入Repository ID和Repository Name即可,比如分别填入zfy 和 zfy repostiory,另外把
Deployment Policy设置为Allow Redeploy,点击save就创建完成了。
这里我点击添加宿主类型的仓库,在仓库列表的下方会出现新增仓库的配置,如下所示:
点击save按钮后就会在仓库列表中看到刚才新增的仓库。(添加代理和仓库组的操作与上面类似,自己动手操作)
以下是代理仓库
点击菜单栏上的Add按钮后选择Proxy Repository,看到如下所示配置界面:
--------------------------------------------------------------------------------------------------------------------------------
4:添加仓库组
---------------------------------------------------------------------------------------------------------------------------------
Nexus 中仓库组的概念是Maven没有的,在Maven看来,不管你是hosted也好,proxy也好,或者group也好,对我都是一样的,我只管根据 groupId,artifactId,version等信息向你要构件。为了方便Maven的配置,Nexus能够将多个仓库,hosted或者 proxy合并成一个group,这样,Maven只需要依赖于一个group,便能使用所有该group包含的仓库的内容。
neuxs- 1.9.2.3中默认自带了一个名为“Public Repositories”组,点击该组可以对他保护的仓库进行调整,把刚才建立的公司内部仓库zfy repostiory加入其中,这样就不需要再在maven中明确指定内部仓库 的地址了。同时创建一个Group ID为public-snapshots、Group Name为Public Snapshots Repositories的组,把Apache Snapshots、Codehaus Snapshots、Snapshots和zfy repostiory加入其中。
--------------------------------------------------------------------------------------------------------------------------------
5:如何搜索
---------------------------------------------------------------------------------------------------------------------------------
在开发过程中过程中,我们往往只记得某个构件的大致名字,这时我们可以通过nexus提供的构件搜索功能查询该构件的完整配置信息(groupId,artifactId,version)
由于刚才我们已经把索引下载了下来
(具体操作看下图)在关键字搜索的框中输入要搜索的内容
--------------------------------------------------------------------------------------------------------------------------------
6:如何上传依赖到nexus
---------------------------------------------------------------------------------------------------------------------------------
如果通过nexus搜不到某个的构件,那说明这个构件不在当前nexus所登记的仓库中,
可能需要添加额外的代理仓库或手工上传某个构件。
好了
有问题发我邮箱
- (2015-11-07 10:34:59)
- (2015-11-06 13:39:10)