nexus使用方法
转自:https://www.cnblogs.com/grey-wolf/p/6481166.html
centos7搭建nexus maven私服
前置条件:
1.安装jdk,可参考 http://www.cnblogs.com/grey-wolf/p/6480489.html
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/9766638
文档下载地址:
http://books.sonatype.com/nexus-book/pdf/nxbook-pdf.pdf
好了,让我们正式开始吧。
- 安装nexus服务器
- 上传tar.gz包到指定目录(我这边假定是/home/ckl/upload)
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/
注意:
一定要解压到这个目录下,具体原因我也不知道,文档里是这么做的,我们也没必要自己找麻烦。
- 建立软链接
sudo ln -s nexus-2.14.3-02 nexus
- 查看/usr/local目录,结果如下:
- 设置环境变量(按官网文档的说法是可选,不过还是配上吧)
vim /etc/profile,在最后加上下面这一句,:wq保存退出
- source /etc/profile 刷新刚设置的环境变量,使之生效
- 查看结果
- 启动服务器
(博客园的这个数字序号不知道怎么才能设成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文档,非常详细。
nexus使用方法的更多相关文章
- 部署nexus服务
一.安装和启动 官网下载nexus-2.12安装包,地址:https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.12.0- ...
- Linux 下迁移 Nexus3
Nexus3 的迁移过程还是非常简单,复制整个目录到新服务器,启动即可. 备份 在原来服务器上将 nexus3 整体目录备份即可. $ tar -zcvf nexus3.tar.gz nexus3/ ...
- javaSE27天复习总结
JAVA学习总结 2 第一天 2 1:计算机概述(了解) 2 (1)计算机 2 (2)计算机硬件 2 (3)计算机软件 2 (4)软件开发(理解) 2 (5) ...
- nexus 数据库备份任务webhook 通知-另外一种方法
使用benthos 做为webhook,是一种方法,功能很强大,但是有点复杂,所以换了一个更简单直接的webhook 工具 根据请求的数据,只处理关于db exporter 任务部分的消息,然后就是调 ...
- 〖Android〗Nexus 7 flo (razor) 刷入Recovery/CM-11.0后卡在开机动画的解决方法
操作日志: 起因:Nexus 7 flo 华硕平板,刷了一个CWM Recovery之后变成了砖机: 尝试1:使用CWM Recovery清除数据,开机失败 尝试2:刷入CM 11 Snapshot的 ...
- Nexus 5更新 Android5.0 失败解决方法
Android 5.0最终推出了正式版,今天也及时刷到了Android5.0 (LRX21O),官方链接:https://developers.google.com/android/nexus/ima ...
- Nexus设备升级5.0方法
1. 从该页面为您的设备下载适当的系统映像.然后将它解压缩到一个安全的文件夹. 2. 通过 USB 连接到您的计算机. 3. 使用下列的方法,在fastboot mode下启动设备: 使用 adb ...
- nexus 增加代理仓库 无法搜到snapshot的jar包 解决方法
如题, nexus 私服 增加了另一个 私服, 但是无法搜到 版本中带有 snapshot字样的 jar包. 环境情况: 1.老私服: 首先版本中带有 snapshot字样的 jar包,是发布在 老 ...
- nexus私服快速update index方法
简单搭好nexus私服后,做好基本的配置. 稍微麻烦点的就是让其更新Jar索引文件.如果有耐心的话,完全可以通过在线更新索引的方式来做,但所消耗的时间较长,让人误以为出错了,不知所措. 下面介绍一种简 ...
随机推荐
- hibernate不调用save也保存上了
List<Instrument> insts = instService.search(search); if (insts.size() == 1) { Instrument inst ...
- 简单又好用的聊天室技术——WebSocket
现在,很多网站为了实现推送技术,所用的技术都是轮询.轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP request,然后由服务器返回最新的数据给客户端的浏览器.这种传统的模式带来很 ...
- json_decode() expects parameter 1 to be string, object given
$data = Weann\Socialite\Facades\Socialite::driver('wechat')->user();//是字符串 $data=json_encode($dat ...
- bson.errors.InvalidStringData: strings in documents must be valid UTF-8
场景: pymongo 查询数据库的时候报错. for gscode in GSList_StockPool_Mongo_MktStop: self._collection_flash.find({& ...
- (转)x264代码详细阅读之x264.c,common.c,encoder.c
转自:http://alphamailpost.blog.163.com/blog/static/201118081201281103931932/ x264代码详细阅读第一之x264.chttp:/ ...
- linux -- Ubuntu图形界面终端实现注销、关机、重启
linux命令行下的开关机分别为: 注销:logout 关机:shutdown -h now (参数不同,会有不同的关机模式) 重启:shutdown -r now 或 reboot 这些命令都是在l ...
- R语言低级绘图函数-symbols
严格意义上将symbols 并不能算是一个低级的绘图函数,因为它不仅可以在一幅已经存在的图标上添加元素,还可以创建一张新的图表 鉴于它绘图时的灵活性,我把它归入到低级绘图函数中 symbols 可以创 ...
- Oracle Net Manager 服务命名配置以及用PL/SQL 登陆数据库
我们知道,要连接一个数据库需要知道四个参数: 1. 登陆用户名:user: 2. 登录密码:password: 3. 存放数据库的服务器地址(server_ip)和端口(server_port): 4 ...
- C语言中,为什么字符串可以赋值给字符指针变量
转载于:http://www.cnblogs.com/KingOfFreedom/archive/2012/12/07/2807223.html 本文是通过几篇转帖的文章整理而成的,内容稍有修改: 一 ...
- SVN中Revert changes from this revision 跟Revert to this revision
譬如有个文件,有十个版本,假定版本号是1,2,3,4,5,6,7,8,9,10. Revert to this revision: 如果是在版本6这里点击“Revert to this revisio ...