SonaType Nexus-Maven私服搭建
Maven 是一种项目构建管理的工具,可以通过远程仓库下载自己项目所要依赖的jar文件等,如果是个人项目,一般只需要选择远程仓库获取相关的依赖包即可,如阿里云的镜像仓库,但如果是公司的项目,一般都会搭建内部自己的maven私服仓库,存放一些公司内部的jar文件等,本文主要介绍如何搭建一个自己的maven私服仓库
Docker 方式安装
获取镜像:
docker pull sonatype/nexus3
创建一个供启动挂载的文件夹:
mkdir /some/dir/nexus-data && chown -R 200 /some/dir/nexus-data
创建容器且挂载:(name参数前是2个中划线)
docker run -d -p 80:8081 –name nexus -v /some/dir/nexus-data:/nexus-data sonatype/nexus3
一、访问及配置Nexus3
1)打开浏览器访问http://主机ip,显示如下则表示安装成功

2)默认的用户名:admin,密码:admin123,登陆后可创建新的用户以及仓库,这里简单解释下,nexus仓库类型常见的有以下3种
- group 仓库组:Nexus 通过仓库组的概念统一管理多个仓库,这样我们在项目中直接请
- hosted 宿主仓库:主要用于发布内部项目构件或第三方的项目构件(如购买商业的构件) 以及无法从公共仓库获取的构件(如 oracle 的 JDBC 驱动)
- proxy 代理仓库:代理公共的远程仓库

3)设置proxy代理仓库代理阿里云镜像地址,这样当我们使用此私服找不到jar文件时,nexus3会到阿里云远程镜像仓库寻找,若有则同步到nexus3仓库以及本地
阿里maven镜像地址: http://maven.aliyun.com/nexus/content/groups/public

二、新建个人的Snapshot和Release仓库
Snapshot:快照版本仓库,同一个版本号如1.2.0-SNAPSHOT的应用,每次deploy到快照仓库的时候,都会在版本号后面根据时间戳记录一个小后缀版本号,一般在开发过程中使用,所以里面的版本也叫非稳定版本
Release:发布版本仓库,对于同一个版本号1.2.0-RELEASE,有唯一一个精确的版本号,不会带小后缀,一般是应用发布的时候使用,所以里面的版本也叫稳定版本
设置===>Repositories===>Create repository(选择hosted类型)

输入自定义仓库名,设置仓库类型,以及是否允许deploy

三、安装maven后的Settings.xml文件配置
经过第一和第二步,nexus3的私人maven仓库已经创建好,分别为一个快照版仓库和发布版仓库,接着是在我们自己开发的电脑中安装maven工具后,找到$MAVEN_HOME/conf/settings.xml文件,配置server标签如下
<server>
<id>hzkrepo-releases</id>
<username>nexus3登陆用户名</username>
<password>nexus3登陆密码</password>
</server>
<server>
<id>hzkrepo-snapshots</id>
<username>nexus3登陆用户名</username>
<password>nexus3登陆密码</password>
</server>
四、项目父pom.xml文件配置
当settings.xml文件配置好后,在项目中如果想用到自己的私服仓库,如部署到自己的私服仓库时,项目的父pom.xml需要配置distributionManagement标签,仓库id标签配置注意需要和setting.xml中配置的server标签的id标签对应
<!--nexus3私服配置-->
<distributionManagement>
<repository>
<id>hzkrepo-releases</id>
<name>nexus-releases</name>
<url>release仓库url</url>
</repository>
<snapshotRepository>
<id>hzkrepo-snapshots</id>
<name>nexus-snapshots</name>
<url>snapshot仓库url</url>
</snapshotRepository>
</distributionManagement>
五、小结
至此,maven私服的相关基本应用已经可以使用了,后续可以尝试将自己快照版本的应用或者发布版本的应用deploy到私服,然后就可以在控制台看到相关的内容了