上一篇安装了一个2.x版本的Nexus私服仓库地址,但是感觉不够好用,则重新搭建了一个Nexus Repository Manager OSS 3.x
下载压缩包
官网: https://www.sonatype.com/
官方文档: https://help.sonatype.com/repomanager3
下载的时候选择Nexus Repository OSS,带Pro的大家都知道,是收费版。
根据自己的系统选择对应版本,支持OS X,Windows,Unix三大系统。
本文选择的是最新版本 nexus-3.12.0-01-win64.zip,地址https://www.sonatype.com/oss-thank-you-win64.zip
由于是外网下载,下载相对会比较慢,所以下面给出百度云网盘的资源链接
链接:https://pan.baidu.com/s/1vo9ZSq7hblFeA7CkoAId-Q 提取码:dxxv
安装很简单,直接解压到指定目录(不带中文的文件目录)就可以,绿色版的
Nexus需要配置的地方不多,但是这个自带jetty,默认端口8081,可能会有端口冲突,找到配置文件修改即可。
进入到nexus安装目录。
修改端口
D:\nexus\nexus-3.18.1-01\etc 有一个 nexus-default.properties 配置文件
shift + 鼠标右键 —>选择在此处使用命令打开
启动
键入命令nexus.exe /run
启动即可
第一次启动加载的东西相对会比较多,所以要等一两分钟
在运行中找到cmd命令栏,右键选择以管理员的身份运行,进去解压后的Nexus 解压后的bin目录
注册服务
nexus.exe /install nexus
注册服务完成后,在服务列表中找到nexus服务,启动服务即可
服务启动后,通过浏览器访问 http://localhost:6001/
点击右上角的Sign in
输入账号密码,默认账号是admin,Nexus 3.x
版本以上的默认密码不是默认admin123
而是在nexus/sonatype-work/nexus3/admin.password
文件中,直接将密码复制登录,则会提示修改密码,修改密码后,`admin.password``文件将被删除
注意
只有登录私服仓库之后才能进行配置
进入Repository-Repositories:
Repository的type属性有:proxy,hosted,group三种。
proxy:即你可以设置代理,设置了代理之后,在你的nexus中找不到的依赖就会去配置的代理的地址中找;
hosted:你可以上传你自己的项目到这里面;
group:它可以包含前面两个,是一个聚合体。一般用来给客户一个访问nexus的统一地址。
简单的说,就是你可以上传私有的项目到hosted,以及配置proxy以获取第三方的依赖(比如可以配置中央仓库的地址)。前面两个都弄好了之后,在通过group聚合给客户提供统一的访问地址。
至于format,由于当前使用的是 Maven Repository ,所以请选择maven2;
你还可以添加一个国内的私有maven库作为代理,避免中央库无法连接,譬如阿里云:
http://maven.aliyun.com/nexus/content/groups/public/
如下:
现在Create repository,进去之后选择Maven2 Proxy
,在具体配置页面取名aliyun-repository,这里建议用a开头(估计按字母排序将它排第一位),URL输入:http://maven.aliyun.com/nexus/content/groups/public/,其他默认值即可。
系统默认就有以上几个Repository。点击maven-public 确保已经将 maven-central,maven-releases以及maven-snapshots都包含在里面,如果你自己有自定义库,请确保也在里面。
maven-releases : 默认配置只能上传 release版本的项目
maven-snapshots: 默认配置只能上传 snapshots版本的项目
nuget开头的库: .net使用的库,java不用管
如有特殊要求,可以自己创建一个Version policy 为Mixed的Repository。
以上配置就能满足一般需求了。
找到 Security > Users
, 点击 Create local user
添加新用户,选择用户,点击 More
可以选择修改密码,需要先输入原密码,验证通过修改用户新密码。
D:\Soft\apache\maven-repository
nexus
*
http://localhost:8083/repository/maven-public/
nexus
admin
zxm10@
localRepository:本地库的地址
mirror:nexus地址
servers:nexus服务器登录名和密码,server可以配置多个,赋予不同权限,例如Release和Snapshot不同
需要在项目中的pom文件中添加如下依赖:
nexus
Nexus Release Repository
http://localhost:6001/repository/maven-releases/
nexus
Nexus Snapshot Repository
http://localhost:6001/repository/maven-snapshots/
id: 对应setting.xml中server id
name: nexus Repository name
url: nexus Repository url
需要说明的是,我们在Maven项目的pom.xml文件中 ,如果版本号中含有SNAPSHOT,则会自动发布到Snapshots仓库中,例如:
注意:
Snapshot版本代表不稳定、尚处于开发中的版本,Release版本则代表稳定的版本
cn.xingming
xingming-app-deployer
1.0.0-SNAPSHOT
如果将version的值改为不带SNAPSHOT后缀,则会发布到releases仓库中,根据实际需要进行选择。
然后使用IDE自带的Maven deploy就可以了。