使用nexus创建私服

Nexus介绍

Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节 省带宽和时间,Nexus就可以满足这样的需要。此外,他还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的 REST客户端,它占用较少的内存,基于简单文件系统而非数据库。这些优点使其日趋成为最流行的Maven仓库管理器。

 

Maven 仓库的两个概念:本地仓库和远程仓库

 

本地仓库是远程仓库的一个缓冲和子集,当你构建Maven项目的时候,首先会从本地仓库查找资源,如果没有,那么Maven会从远程仓库下载到你本 地仓库。这样在你下次使用的时候就不需要从远程下载了。如果你所需要的jar包版本在本地仓库没有,而且也不存在于远程仓库,Maven在构建的时候会报 错,这种情况可能发生在有些jar包的新版本没有在Maven仓库中及时更新。

Maven缺省的本地仓库地址为${user.home}/.m2/repository 。也就是说,一个用户会对应的拥有一个本地仓库。当然你可以通过修改${user.home}/.m2/settings.xml

 

Nexus包含了各种类型的仓库概念,包括代理仓库、宿主仓库和仓库组等。我理解这些仓库对于Maven来说都是远程仓库。

 

 

Nexus内置的仓库列表

Maven Central:该仓库代理Maven中央仓库,其策略为Release,因此只会下载和缓存中央仓库中的发布版本构件。

Releases:这是一个策略为Release的宿主类型仓库,用来部署组织内部的发布版本构件。

Snapshots:这是一个策略为Snapshot的宿主类型仓库,用来部署组织内部的快照版本构件。

3rd party: 这是一个策略为Release的宿主类型仓库,用来部署无法从公共仓库中获得的第三方发布版本构件。

Apache Snapshots:这是一个策略为Snapshot的代理仓库,用来代理Apache Maven仓库的快照版本构件。

Codehaus snapshots:这是一个策略为Snapshot的代理仓库,用来代理Codehaus Maven仓库的发布版本构件。

。。。

Public Repositories:该仓库组将上述所有策略为Release的仓库聚合并通过一致的地址提供服务。

Public Snapshot Repositories: 该仓库组将上述所有策略为Snapshot的仓库聚合并通过一致的地址提供服务。

 

理解镜像:

如果仓库X可以提供仓库Y存储的所有内容,那么就可以认为X是Y的一个镜像。换句话说,任何一个可以从仓库Y获得的构建,都能够从它的镜像中获取。

maven作为一个强大的项目管理软件,相信已经得到了很多人的喜爱,至少我公司现在正在使用。所谓“工欲善其事必先利其器”,作为一个集jar依赖、 项目管理于一体的maven,其jar依赖包的管理是首当其冲的。每个公司或组织在使用maven时定然要在自己的局域网内搭建一个镜像服务器,用来对内 提供项目依赖管理,好处当然就是不用依赖maven的中央仓库或是其他开放组织的仓库,即使断网了,公司或组织内部照样可以进行build和项目打包编 译。这个就需要用到maven的镜像服务器软件了nexus!

      nexus是一款基于java平台的maven镜像服务器软件,可以用来提供依赖包的发布、维护和管理,作为公司或组织内部与公用maven仓库之间的 缓冲镜像,可以显著的提高我们的工作效率。

 

 

一下几篇文章写的很好:

http://www.blogjava.net/baoyaer/articles/355040.html

http://aijezdm915.iteye.com/blog/1335025

http://www.oschina.net/question/12_7986

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值