Nexus 私服使用教程
一、仓库简介
默认情况下,Nexus有如下几个仓库
这些仓库按照其 Type 大致分为4种
hosted类型
这种类型的仓库只提供对内服务,也就是说他不面向公网
1
2
3Releases #存放 maven install 的 Releases 版本的jar
Snapshots #存放 maven install 的 Snapshots 版本的jar
3rd party #当某些jar我们无法从中央仓库下载时,我们往往从其官网下载,当我们希望此种jar也被Nexus管理时,则需要手动将其上传至此仓库,并定义坐标proxy类型
这种类型则相对于hosted,只提供面向公网的服务,我们知道当Maven向私服请求的jar私服中木有时,私服会请求中央仓库;
此时则有这种proxy类型仓库请求并缓存下载下来的jar包1
2
3Central #中央仓库的代理仓库,主要负责请求中央仓库并缓存结果
Apache Snapshots #从名字可以看出来只负责请求Apache 的Snapshots jar
Codehaus Snapshots # 同上virtual 可忽略,基本用不到,面向Maven1类型……
group类型
这种类型的仓库可看做是其他仓库的组合产品,默认的这个 Public Repository 可以下载其他几个仓库的jar;
实际就是将其他仓库组合起来,用一个地址就可下载组合仓库的jar,可通过菜单配置和新建。
二、Nexus使用的一些基本设置
- 更改中央仓库地址为私服地址
既然我们配置了私服,那么相应的,我们的项目就应该使用Nexus的地址(Public Repository)来下载jar包
基于POM文件的配置,只需在项目的pom文件中使用 Repositories 标签指定即可
基于全局性的Maven setting.xml配置方式,这种方式会影响到全局的Maven(配置应该没问题,但布吉岛为啥我的eclipse不好使)
使用镜像来指定Maven私服
在实际使用中,不管是通过POM文件还是Maven的setting文件来指定Nexus私服,当私服出现问题不可访问时,Maven默认都会再次请求中央服务器,这可能导致jar的版本不一致问题,也就是说当私服挂掉后,开人员若不查看Maven控制台,则不可感知,相当于没有Nexus一样;为了避免这种情况,我们可以在Maven的setting配置文件中设置镜像站点;达到的效果就是Maven的所有请求必须经过镜像站点(Nexus);当Nexus出现问题后,那么Maven将强制不可用。
Nexus 私服使用教程
https://mritd.com/2015/12/08/how-to-use-nexus/