Maven—Nexus私服搭建
一.Nexus下载安装
在一个公司内部往往会有一个Maven私服用于jar版本管理,Maven私服用得较多的系统是nexus,其下载地址:https://download.sonatype.com/nexus/3/latest-win64.zip, 下载解压后,便可启动nexuss,也可下载war版nexus,在tomcat中启动。启动后nexus,在浏览器中输入http://localhost:8080/nexus-2.14.5-02 ,如图:
二.Nexus仓库管理
在浏览器中打开nexus后,在右上角点击login,默认用户名是admin,密码是admin123,登录后会出现如下界面,在该界面中,我们便可实现对nexus的各种管理。
在上图中我们看到nexus已给我们默认了7个仓库:
-
3rd party:三方库,如果一个jar包在中央库中或其他远程库中无法找到,便可放在三方库中,比如我们在项目中需要对接其他公司提供的jar包时。
-
Apache Snapshots:Apache代理仓库,在maven中虽然配置的该仓库的地址,但实际上访问的却是 https://repository.apache.org/snapshots/ 中的资源
-
Central: 中央库代理仓库,作用同Apache Snapshots
-
Releases:公司或团队内部已发布稳定版本的jar包库。
-
Snapshots: 公司或团队内部所发布的非release版本的jar包,即:正在开发或调试的jar包。
-
Public Repositories:仓库组,即:可以将以上所有仓库合并到Public Repositories中为外部提供同样访问地址。
在以上仓库中中我们看到仓库的type分为hosted,proxy,group三种类型:
-
hosted:本地仓库,部署公司或团队内部的jar包。
-
proxy:代理仓库,代理远程仓库,如maven中央仓库,阿里云仓库等。
-
group:仓库组,合并多个hosted或proxy仓库,对外提供统一访问地址。
我们在表格中选择不同type的仓库,在Cinfiguration标签中将看到不同的操作,如下:
三.将jar包发布到仓库
1.将nexus管理账户信息加入到settings.xml文件中:
<servers>
<server>
<id>Snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>Releases</id>
<username>admin</username>
<password>admin123</password>
</server>
2.将nexus仓库地址加到pom.xml中,
如果是Snapshots版本则添加如下代码:
<distributionManagement>
<snapshotRepository>
<id>Snapshots</id>
<url>http://127.0.0.1:8081/repository/Snapshots/</url>
</snapshotRepository>
</distributionManagement>
如果是releases版本则添加如下代码:
<distributionManagement>
<repository>
<id>Releases</id>
<url>http://127.0.0.1:8081/repository/Releases/</url>
</repository>
</distributionManagement>
配置好后,Maven每次发布时便会自动上传到nexus中。除在Maven中发布jar包外,还可以在nexus管理界面中添加,如图:
上传成功后,便可在Browse Index标签中看到对应的xml信息: