前置条件:html
1.安装jdk,可参考 http://www.cnblogs.com/grey-wolf/p/6480489.htmlvim
2.nexus仓库管理器,分为两个版本,Nexus Repository Manager OSS 和 Nexus Repository Manager Pro。前者能够无偿使用,相比后者,功能缺乏一些,可是不影响咱们搭建maven私服。浏览器
因此就选择OSS版本。服务器
下载地址:https://www.sonatype.com/download-oss-sonatype,下载不下来能够去这里 http://download.csdn.net/detail/cctvckl/9766638oracle
文档下载地址:app
http://books.sonatype.com/nexus-book/pdf/nxbook-pdf.pdfmaven
好了,让咱们正式开始吧。ide
rz
mv nexus-2.14.3-02-bundle.tar.gz /home/ckl/upload/测试
解压到/usr/local
tar -zxvf /home/ckl/upload/nexus-2.14.3-02-bundle.tar.gz -C /usr/local/ui
注意:
必定要解压到这个目录下,具体缘由我也不知道,文档里是这么作的,咱们也不必本身找麻烦。
sudo ln -s nexus-2.14.3-02 nexus
vim /etc/profile,在最后加上下面这一句,:wq保存退出
(博客园的这个数字序号不知道怎么才能设成2.有知道的朋友麻烦告知下)
前台启动:
cd /usr/local/nexus
./bin/nexus console
之后台进程启动:
./bin/nexus start
查看输出的日志:
tail -f logs/wrapper.log
好了,咱们来前台启动一下。咦,没起来,提示:
意思是坚持使用root用户运行的话,须要设置一个环境变量.
vim /etc/profile
结尾加上
export RUN_AS_USER=root
保存退出。
刷新:source /etc/profile
再次运行,结果以下:
从红框标识及相关文档,能够知道,进程在8081端口启动。
好了,咱们在浏览器上看看能不能访问吧,路径:
http://192.168.2.141(换成你的ip):8081/nexus.
结果如图所示:
点击右上角登陆:
默认用户名为admin,密码admin123
3.搭建私服
3.1 界面元素介绍
登陆后,点击左侧Repositories,界面如上图所示。
右侧的列表中,能够看到nexus预设的几个仓库。
第一个public Repositories,类型为group,这个简单理解为仓库的集合,下面的仓库就是能够加入到这个集合的元素。
对外能够只提供一个单独的url,如上图显示为:http://192.168.2.141:8081/nexus/content/groups/public/
大部分的终端用户,只须要配置上面这一个单独的聚合后的url,而不用单独配置多个仓库。用户也不须要知道某个jar包具体来源于maven 中央仓库,或者是Apache Snapshots,或者是咱们本身添加的其余仓库。
这样的好处在于:若是咱们要新增某个仓库(如开源中国、阿里云),客户端不须要作任何更改,只须要在nexus上将要新增的仓库加入到对外提供服务的仓库 group中就能够。
第二个3rd party,与倒数第一个和第二个仓库,Releases和Snapshots同样,类型为hosted,意思是由nexus本机管理的仓库。该仓库用于商业化的,第三方提供的非开源的依赖仓库,如oracle jdbc driver。
倒数第二个Releases,用于存放开发团队内部用的正式版的依赖。
倒数第一个Snapshots,用于存放开发团队内部平常构建的频率更新较快的依赖包。
Apache Snapshots和Central类型都是proxy,意思是远端仓库的代理。前者包含了Apache Software Foundation 发布的快照版本(这么翻译不知道对不对),后者为Maven中央仓库,咱们平时maven默认就是链接该仓库。
Central M1 Shadow类型为virtual,按官方文档的意思是,只是已有仓库的一个不一样呈现方式的映射。有须要能够参考官方手册6.2.3节。
3.2 仓库集合的界面
点击Configuration,能够看到当前添加到该集合的仓库列表及顺序(优先级高的在上面,可用鼠标拖拽),当咱们新增了仓库,将会出如今右侧的available Repository,添加到左边便可。
若是有哪一个仓库不想加入到该集合,也能够拖拽到右边来。
3.3使用本地maven客户端测试nexus是否成功部署
首先复制仓库集合的repository url,客户端配置须要用到。
配置maven客户端:
打开settings.xml,按照以下步骤修改:(该部分参考文档4.2节)
<mirrors> <mirror> <!--This sends everything else to /public --> <id>nexus</id> <mirrorOf>*</mirrorOf> <url>http://192.168.2.140:8081/nexus/content/groups/public</url> </mirror> </mirrors>
<profiles> <profile> <id>nexus</id> <!--Enable snapshots for the built in central repo to direct --> <!--all requests to nexus via the mirror --> <repositories> <repository> <id>central</id> <url>http://central</url> <releases><enabled>true</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>central</id> <url>http://central</url> <releases><enabled>true</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> <activeProfiles> <activeProfile>nexus</activeProfile> </activeProfiles>
接下来在ide中测试下(我我的用maven命令行很少,不熟悉,仍是用intelj idea演示吧)
在idea中依次打开File--Settings--搜索Maven--出现以下界面:
保证上述几项指向正在用的maven目录和配置文件便可。点击ok,退出。
打开Maven Projects窗口,勾选Profiles中的nexus。
随便新建一个maven工程,在pom中添加一项本地仓库中没有的依赖,应该出现以下图示:(下图能够看出,正在去咱们配置的私服下载maven依赖)
至此。大致配置完成。
上传本地内部依赖到私服,能够参考:
http://jingyan.baidu.com/article/a948d6517b72eb0a2dcd2e2a.html
ps:有问题欢迎你们一块儿讨论,也能够直接参考文章开头发的pdf文档,很是详细。