一、概述
有三种专门的Maven仓库管理软件可以用来帮助大家建立私服:Apache基金会的Archiva、JFrog的Artifactory和Sonatype的Nexus。而Nexus是当前最流行的Maven仓库管理工具。
私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,私服代理广域网上的远程仓库。供局域网内的Maven用户使用。当Maven需要下载构件的时候,它从私服请求,如果私服上不存在该构件,则从远程仓库下载,缓存在私服上以后,再为Maven的下载请求提供服务。此外,一些无法从外部仓库下载到的构件也能从本地上传到私服上供大家服务。
私服的工作原理容如下图所示:
二、安装nexus
环境说明
操作系统:centos 7.6
java版本:1.8.0_211
maven版本:3.6.3
docker版本:19.03.5
ip地址:192.168.31.183
拉取镜像
拉取最新版本,目前最新版本是3.20.1
docker pull sonatype/nexus3
持久化目录
mkdir -p /data/nexus/data chmod 777 -R /data/nexus/data
启动镜像
docker run -d -p 8081:8081 --name nexus -v /data/nexus/data:/nexus-data sonatype/nexus3
查看日志
docker logs -f nexus
输出:
... 2019-12-26 08:06:12,134+0000 INFO [jetty-main-1] *SYSTEM org.eclipse.jetty.server.AbstractConnector - Started ServerConnector@42da9de6{HTTP/1.1,[http/1.1]}{0.0.0.0:8081} 2019-12-26 08:06:12,135+0000 INFO [jetty-main-1] *SYSTEM org.eclipse.jetty.server.Server - Started @102936ms 2019-12-26 08:06:12,137+0000 INFO [jetty-main-1] *SYSTEM org.sonatype.nexus.bootstrap.jetty.JettyServer - ------------------------------------------------- Started Sonatype Nexus OSS 3.20.1-01 -------------------------------------------------
等待几分钟时间,出现 Started Sonatype Nexus OSS
表示启动好了。
三、访问nexus
打开浏览器,访问 http://192.168.31.183:8081/
点击右侧的登录
查看管理员admin
密码
# cat /data/nexus/data/admin.password
登录
开始设置
修改密码
确认配置
四、添加阿里云maven代理
点击settings->Repository->Repositories
点击Create repositoty按钮
选择maven2 (proxy)
填写如下两个字段,分别是代理库的名称,所代理的上层库的url。阿里云url为:http://maven.aliyun.com/nexus/content/groups/public/
滚动到页面最下方,点击“Create repositoty”按钮。
可以看到刚刚新建的代理库已经存在了。
重新配置maven-public组,使其包含新建的aliyun-maven。在如上页面,点击maven-public,进入到配置页面。按下图进行修改。把aliyun-maven移至右侧,并向上移至第一位。然后点击保存。
点击左侧菜单Repositoty>Repositories,进入到仓库列表页面,点击maven-public一行的copy按钮,然后复制弹出的url,后面配置maven时需要使用。
本文参考链接:
https://www.cnblogs.com/wotoufahaiduo/p/11223834.html
https://blog.csdn.net/lk142500/article/details/91357441
https://www.cnblogs.com/sybblogs/p/9835977.html