昨天,成功搭建了自己的 Maven 环境(详见:Maven(一)环境搭建),今天就来研究和探讨下 Nexus 的搭建!
使用背景:
- 安装环境:Windows 10 -64位
- JDK版本:1.7
- Maven版本:3.0.4
- Nexus版本:2.11.4(伸手党福利【传送门】: https://pan.baidu.com/s/1pLJaTBH 密码: 39ce)
开始正题:
1.首先你的电脑要安装好JDK(我的JDK版本是1.7)
2.其次你的电脑要安装好Maven(我的Maven版本是3.0.4)
3.通过网盘下载,你会得到:nexus-2.11.4-01-bundle.tar.gz,把它解压到你的硬盘下,你会得到如下两个文件夹(下面是我的解压路径)
E:\nexus-2.11.4-01 和 E:\sonatype-work
(1)首先介绍一下:E:\nexus-2.11.4-01\bin\jsw 目录结构,这里存放的是各种环境下的 Nexus 安装程序,因为我的电脑上 Windows 10 -64 位系统,所以我选择 windows-x86-64
(2)下面介绍一下:E:\nexus-2.11.4-01\bin\jsw\windows-x86-64 目录下的这几个.bat 文件
console-nexus.bat //暂时不清楚是做什么的,没有使用过,如果有谁知道的可以留言:)
install-nexus.bat //安装 Nexus,据说会把 Nexus 当作 Windows 中的一个服务注册进行
uninstall-nexus.bat //卸载 Nexus,同样会把注册到 Windows 中的 Nexus 服务一同卸载
start-nexus.bat //启动 Nexus
stop-nexus.bat //停止 Nexus
注意:如果在双击执行文件后,提示报错信息:wrapper | OpenSCManager failed - 拒绝访问。 (0x5) 请使用管理员身份运行该类文件
(3)在 E:\sonatype-work 这个目录的 nexus 文件夹下是空的,但是千万不要小瞧它,也不要删除它!当 Nexus 启动后,这里就相当于是 Nexus 的工作空间,后面我会讲到。
4.执行install-nexus.bat,再执行start-nexus.bat,在浏览器中进行访问:http://localhost:8081/nexus 出现如下页面则表示Nexus搭建成功,!
右上角有个 Log In 可以进行登录,默认用户名和密码:admin/admin123
5.修改默认访问地址和端口号
很多情况下,你并不想让部署的 Nexus 环境占用 8081 端口,那如何进行修改呢?这时候就要在 E:\nexus-2.11.4-01\conf 下找到 nexus.properties 文件,
修改里面的内容如下图,并进行重启后再进行登录即可。
6.Nexus 中的 Respositories
(1)如果执行了第5步,现在就可以看到 Respositories Path 都根据 nexus.properties 中的配置生效了,是不是很爽?为啥?因为可以进行域名配置:)
(2)下面根据我自己的分类总结一下对 Respository 的理解:
Public Respositories //可以把它理解成是一个集合,如果你的地址指向 Public,例如 maven {url 'http://192.168.X.X:XXXX/nexus/content/repositories/public/'},
它的检索路径会包括:3rd party、Releases、Snapshots
3rd party //存放第三方的资源
Releases //存放已经发布的正式版本的资源
Snapshots //存放未正式发布版本的资源
Central //存放Maven*库中的索引列表,为了能快速找寻资源
(3)上面我提到过:E:\sonatype-work 下的 nexus 目录,现在你可以进入到目录 E:\sonatype-work\nexus\storage,会出现如下图所示目录结构:
是不是发现这里的目录名称其实都对应了上图中的 Respositories ? 没错,当你下载或上传资源时,其实这些资源就存在于对应的目录结构下,值得注意的是:thirdparty 目录对应 3rd party
(4)每个 Respository 都有对应的 Configuration 在里面可以自定义一些配置信息,以 Releases 举例,如下图:
需要注意的是:一般都会对 Deployment Policy 设置为 Allow Redeploy,据说跟“发布策略”有关系,我没有具体测试过,还不确定具体用法,但是设置了也没啥坏处。
6.Nexus 中的新建一个 Proxy Respository
(1)由于网络原因,使用官方的 maven2 仓库会很蛋疼,但我们又需要强大的*仓库,怎么办? 那我们新建个代理去连阿里云Maven仓库,
因为它已经对官方的 maven2 仓库进行过同步了,不多说,下面介绍如何连接,点击 Add -> Proxy Repository,创建一个 Respository。
(2)默认会生成一个名叫 New Proxy Repository 的配置,只需要将红框内的部分填写完毕即可,
其中 Remote Storage Location 设置阿里云Maven地址:http://maven.aliyun.com/nexus/content/groups/public
(3)点击 Save 保存后,刷新下页面,设置下 Public Repositories 的 Configuration 中的组别排序,如下图所示
这样,当我们需要去下载一些资源时,会按照如下箭头所示顺序进行查找,相当于拿 aliyun maven 做了一层对 Central 的拦截,实在找不到才会在 Central 中进行查找,这样就不蛋疼了:)
PS:总结一下,其实 Nexus 能提供的功能远远不止这些,这只是凤毛麟角,但是掌握这些基本知识是必要的,以后需要循序渐进的学习和补充。