1.安装nexus
1.1.下载与上传maven私服仓库-Nexus
上传nexus到服务器上
进行解压
cd /usr/local/software/
tar -zxvf nexus-3.31.1-01-unix.tar.gz
cd nexus-3.31.1-01/
1.2.修改nexus配置
vim /usr/local/software/nexus-3.31.1-01/etc/nexus-default.properties
#-----------------下面是配置文件内容部分
## DO NOT EDIT - CUSTOMIZATIONS BELONG IN $data-dir/etc/nexus.properties
##
# Jetty section
#这里把默认的8081端口 改成了 8082端口
application-port=8082
application-host=0.0.0.0
nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml
nexus-context-path=/
# Nexus section
nexus-edition=nexus-pro-edition
nexus-features=\
nexus-pro-feature
nexus.hazelcast.discovery.isEnabled=true
1.3.启动nexus
/usr/local/software/nexus-3.31.1-01/bin/nexus start
备注: nexus命令用法
1.4.关闭服务器防火墙与配置防火墙安全组
# 关闭服务器防火墙
systemctl stop firewalld
配置安全组(云服务器才需要配置,否则跳过此步骤)
我这里使用的服务器是腾讯云服务器,本地虚拟机的话就跳过此步骤
1.5.登陆访问nexus网站
浏览器输入:http://IP(nexus部署所在的服务器IP):8082/
输入用户名密码
用户名:admin
密码第一次是随机生成的,密码文件所在路径:
nexus-3.31.1-01安装命令所在上一级目录/sonatype-work/nexus3/admin.password
将密码文件中的内容粘贴到密码输入框即可
例如在我的服务器中,我的nexus安装路径是:
/usr/local/software/nexus-3.31.1-01
而密码是放在:/usr/local/software/sonatype-work/nexus3/admin.password
像日志也是放在/usr/local/software/sonatype-work/nexus3目录下,如图
当首次登陆成功后,会要求你修改密码。按要求修改密码即可。
当登陆成功后,会跳转到 nexus首页
2.创建maven仓库
2.1 .私有仓库种类说明
创建仓库之前先介绍私有仓库分类
一共有3种分类。
hosted:宿主仓库,主要存放 个人或公司内部 上传的一些私有依赖;
proxy:代理仓库,主要链接到一些远程公共中央仓库,例如maven官方中央仓库地址、阿里云中央仓库地址;
group:仓库组,主要是将上面的多个仓库 组成在一起形成一个组。例如仓库组可以关联多个宿主仓库(用户或公司内部上传的私有依赖)以及 多个代理仓库(阿里云仓库),那么用户在引用repository仓库的时候,只需引入 该仓库组即可,就可实现 下载内部依赖以及外部依赖。
2.2.创建仓库
创建代理(阿里云)仓库
创建宿主仓库(用于存放发行版本的私有依赖)
创建宿主仓库(用于存放快照版本的私有依赖)
创建仓库组(集成以上仓库)
3.私服的实际使用演示
3.1.修改本地maven的setting.xml
主要修改两个地方,修改理由如下
1、主要是配置镜像(即项目下载依赖的时候从仓库组进行下载)、
2、配置 私服的用户名密码(用于项将个人或公司项目模块作为私有依赖打包发布到私服仓库)
注:下图配置mirror作用是,为了让项目下载maven依赖的时候,从指定的仓库组进行下载,因为仓库组配置了 宿主仓库(私有依赖)以及代理仓库(非私有依赖),因此用户即可下载私有依赖也可下载非私有依赖。
备注:下图的server标签主要是用于后续用户打包自己的模块作为私有依赖上传到maven私服用,因为上传私有依赖到私服肯定得先进行身份认证,而用户又不可能将maven私服的账号密码配置在项目的pom.xml(不安全),所以需要在setting.xml进行配置。
3.2.创建maven工程(用于模拟打包依赖到私服)
根项目的pom.xml
子模块的pom.xml,distributionManagement配置信息和上图的distributionManagement一致
子模块可以随便编写一些内容啥的,用于后续测试
打包日志:
3.3.创建maven工程(用于模拟从私服下载依赖)
现将本地仓库的私有依赖删除掉,这样才会从私服仓库中进行下载
查看本地仓库,发现文件也下载了
—
可以看到我们之前写的类,已从.java变成.class了,至此大功告成~~~~