搭建自己的maven库---nexus
一、安装nexus
linux环境下,我是在虚拟机中搭建的Centos7。
1、docker下安装
基于docker-compose的搭建,docker-compose.yml内容:
version: '3.1'
services:
nexus:
restart: always
image: sonatype/nexus3
container_name: nexus
ports:
- 80:8081
volumes:
- ./data:/nexus-data
编辑好docker-compose.yml后,注意端口时候被占用,
启动:
在当前目录启动(守护模式启动):
docker-compose up -d
查看启动日志:
docker-compose logs -f
2、安装包安装
下载安装包:
可以去官网下载最新发布版本。
下载安装包:https://pan.baidu.com/s/1LjwzEax71H6emkUL3uZRcw
将安装包上传到对应的虚拟机中,解压安装包:
tar -xzvf nexus-3.9.0-01-unix.tar.gz
可以在nexus-default.properties文件中(位于/nexus-3.9.0-01/etc/目录下)修改WEB访问端口等信息,默认为8081端口;
检查防火墙是否开启,如果开启,则需要对8081端口放行:
## 查看防火墙状态
systemctl status firewalld.service
## 开放8081端口命令
firewall-cmd --zone=public --add-port=8081/tcp --permanent
启动nexus:
## 进入到bin目录
cd nexus-3.9.0-01/bin
#执行命令
./nexus run
二、配置nexus
1、登录nexus管理页面
进入nexus管理页面,http://IP:8080
旧版本的nexus的默认用户名和密码:
用户名:admin
密码:admin123
如果你安装的是新版本的nexus,默认密码存在
/opt/sonatype/sonatype-work/nexus3目录下寻找admin.password文件,如果你是在docker中,需要进入容器中:
# 进入容器
docker exec -it 容器id
#进入对应的目录
cd /opt/sonatype/sonatype-work/nexus3
#查看当前目录下的文件
ls -al
#查看文件内容
cat admin.password
拿到密钥,例如:25b32353-f0da-4b48-966c-84d1c0eb64ad ,登录成功后,会让你重置密码。我在这里设置了密码为:admin123
2、创建代理仓库(阿里的库)
配置一个代理库,代理到阿里的中央仓库,当使用到自己仓库中没有的依赖时,去阿里的库寻找。阿里库地址:
http://maven.aliyun.com/nexus/content/groups/public/
注意其中的库的顺序,从上到下,也是找依赖的顺序。找依赖包的流程: 首先在本地仓库中找,如果没命中,那么就找远程私服;远程私服的查找规则同样是先找host属性的私有库,然后再去找proxy属性的远程仓库;可以配置多个proxy;
三、在项目中使用Nexus
1、只在当前项目中中使用Nexus
在pom.xml中加入配置:
将复制的库地址将下面的地址替换:
<repositories>
<repository>
<id>nexus</id>
<name>Spring Milestone</name>
<url>http://47.xxx.xxx.xxx:8081/repository/maven-public/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
2、全局配置(不需要每个项目都在pom中添加配置)
在maven的setting.xml文件中配置私服配置。
<mirror>
<id>nexus-myself</id>
<!--*指的是访问任何仓库都使用我们的私服-->
<mirrorOf>*</mirrorOf>
<name>Nexus myself</name>
<url>http://192.xxx.xxx.xx:8081/repository/maven-public/</url>
</mirror>
3、上传第三方jar包: