1,下载Nexus3
链接:https://pan.baidu.com/s/1g1KL3HS4NWB68tSSSXLRRw
提取码:1234
2,解压后得到下图两个文件
3,启动Nexus3,cmd命令进入到 nexus-3.27.0-03 文件夹 bin 目录 ,执行 nexus /run
启动过程中如果出现 java.io.UnsupportedEncodingException: Encoding GBK is not supported yet (feel free to submit a patch) 错误 请忽略 这是由于编码问题导致的错误,不影响整体运行
4,启动成功后访问 http://127.0.0.1:8081 (端口号默认8081 如有冲突 去\sonatype-work\nexus3\etc”目录下的“nexus.properties”配置文件中修改)
5,点击右上角 sing in登录 默认用户名为 admin 密码在 sonatype-work\nexus3\admin.password 文件中 登录成功后会要求重置密码 输入自定义的密码即可
6,Browse 仓库列表,Upload上传jar到仓库,3 为设置,设置仓库的配置和用户的配置等等信息
1)Browse 查看所有的仓库名
Proxy : 远程仓库的代理,当用户向这个代理请求一个依赖包,这个代理就会先在私服查找,如果找不到的话,就会从代理中配置的远程仓库中下载。这样的优势只要其中一个人从中央库下来了,以后大家都是从Nexus私服上进行下来,私服一般部署在内网,这样大大节约的宽带。
Hosted : 宿主仓库,用于将第三方的Jar或者我们自己的jar放到私服上。第三方比如oracle的驱动程序,在中央仓库是找不到的,需要手工上传到Hosted中
Hosted有三种方式,Releases、SNAPSHOT、Mixed
Releases: 一般是已经发布的Jar包
Snapshot: 未发布的版本
Mixed:混合的
Group:仓库组的概念,目的是将多个仓库聚合,对用户暴露统一的地址,当需要获取某一个依赖包时,请求的是Group的地址,系统将会根据Group配置的仓库顺序依次查找
nexus首次启动完成后会生成 如下几个仓库
1,maven-central 中央Maven仓库,当PC访问中央库的时候,会从远程仓库下载包到私服,再从私服下载到PC (如果私服中存在需要的jar包,则不通过远程仓库下载,直接下载jar到PC),远程仓库地址可以在下图中配置 这里使用的是ali 配置后在页面最下方save保存
2,maven-public 仓库组,将下图Members中的三个仓库聚合发布,对外提供访问地址(URL), 当需要获取某一个依赖包时,请求的是Group的地址,系统将会根据Group配置的仓库顺序依次查找
3,maven-releases 已发布的版本
4,maven-snapshots 快照版本 (未发布的版本)
在打包时POM文件中 Version标签后缀带 SNAPSHOTS 上传到私服时会自动归类到 snapshots 快照版本,把SNAPSHOTS去掉就会归类到 releases 发布版本
5,nuget-group,nuget-hosted,nuget.org-proxy 这三个仓库是 专注于在.Net / .Net Core应用开发过程中第三方组件库的管理,如果不用的话可以直接删掉
网页上传第三方jar包及项目中使用教程(使用idea打包上传到私服在下一篇文章有教程)
1,网页端上传。选择上传到哪个仓库
3,上传成功后就可以在Browse中相应的仓库里看到,及对应jar包的POM依赖
4,项目中使用,在maven的settings文件中加入以下配置
完整配置如下,上如中圈画的为下载jar包时用到的标签,下面代码中没在上图中圈到的则是上传jar包时用到的标签,如果不需要上传可以不加
D:\mvn_repo\repository
maven-releases
admin
admin123
maven-snapshots
admin
admin123
nexus
admin
admin123
nexus
*
http://192.168.65.129:8081/repository/maven-public/
nexus
central
Nexus
http://central
true
true
central
Nexus Plugin Repository
http://central
true
true
http://192.168.65.129:8081/repository/maven-releases/
http://192.168.65.129:8081/repository/maven-snapshots/
nexus
5,在idea中使用配置好的settings文件
然后在pom文件中引用对应的依赖就可以使用