一,为什么要搭建Nexus
Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问 和部署在你所维护仓库中的每个Artifact。
一句话概括:为了解决组件之间的jar包依赖管理。
二,环境准备
- Linux系统,centos 7
- jdk 1.8+
-
nexus (下载地址:https://pan.baidu.com/s/1qr4-WR1ZrukenN-gsj18Ug
取件码:1231)( 官网上下载比较慢,我这里已经下载好放在网盘了)
- Maven (客户端)
三,解压安装
- 在/usr/local下创建文件夹nexus
Maven管理器 --Nexus 搭建一,为什么要搭建Nexus二,环境准备三,解压安装四,配置Nexus私服 - 使用Xftp工具将压缩包复制到该目录下并进行解压
Maven管理器 --Nexus 搭建一,为什么要搭建Nexus二,环境准备三,解压安装四,配置Nexus私服 -
修改端口号
访问端口配置目录:nexus-3.9.0-01/etc/nexus-default.properties
我这里直接使用默认的8081Maven管理器 --Nexus 搭建一,为什么要搭建Nexus二,环境准备三,解压安装四,配置Nexus私服 开放防火墙8081端口:
firewall-cmd --zone=public --add-port=8081/tcp --permanent
firewall-cmd --reload
- “开箱即用”,直接启动Nexus服务
进入到nexus-3.9.0-01的bin目录下
启动命令:./nexus start
其他命令:./nexus stop | restart | status 停止服务|重启|状态
Maven管理器 --Nexus 搭建一,为什么要搭建Nexus二,环境准备三,解压安装四,配置Nexus私服 修改后启动:Maven管理器 --Nexus 搭建一,为什么要搭建Nexus二,环境准备三,解压安装四,配置Nexus私服 Maven管理器 --Nexus 搭建一,为什么要搭建Nexus二,环境准备三,解压安装四,配置Nexus私服 - 访问(ip:端口访问,出现如下页面–>安装成功)
Maven管理器 --Nexus 搭建一,为什么要搭建Nexus二,环境准备三,解压安装四,配置Nexus私服
四,配置Nexus私服
1)在配置Nexus之前先了解Nexus的工作原理和仓库类型
- 工作原理:
Maven管理器 --Nexus 搭建一,为什么要搭建Nexus二,环境准备三,解压安装四,配置Nexus私服 (图片来源:https://www.jianshu.com/p/1cfbc1518fce)
其实在项目中只是将找依赖包这个工作交给我们的nexus了,找依赖流程:先在本地仓库找,本地仓库没有再去我们的nexus私服找,那我们的nexus又怎么找呢:私服仓库组来负责,私服仓库组先在私服本地仓库找,私服本地仓库没有最后再去远程仓库(下面我们会配阿里和maven远程仓库)
- Nexus仓库类型:
- hosted,本地仓库,通常我们会部署自己的构件到这一类型的仓库。比如公司的第二方库。
- proxy,代理仓库,它们被用来代理远程的公共仓库,如maven中央仓库。
- group,仓库组,用来合并多个hosted/proxy仓库,当你的项目希望在多个repository使用资源时就不需要多次引用了,只需要引用一个group即可。
Maven管理器 --Nexus 搭建一,为什么要搭建Nexus二,环境准备三,解压安装四,配置Nexus私服
2)创建代理仓库
- 这一步只需要在页面上操作即可,注意先登录,默认账号密码:admin admin123
Maven管理器 --Nexus 搭建一,为什么要搭建Nexus二,环境准备三,解压安装四,配置Nexus私服 -
添加Jcenter阿里云仓库:https://maven.aliyun.com/nexus/content/groups/public/
1,添加代理仓库
2,选择Maven代理仓库Maven管理器 --Nexus 搭建一,为什么要搭建Nexus二,环境准备三,解压安装四,配置Nexus私服 3,添加Maven管理器 --Nexus 搭建一,为什么要搭建Nexus二,环境准备三,解压安装四,配置Nexus私服 点击下方蓝色按钮保存。Maven管理器 --Nexus 搭建一,为什么要搭建Nexus二,环境准备三,解压安装四,配置Nexus私服 - 添加maven中央仓库:https://repo1.maven.org/maven2/ (如何发现已经有了就不需要再配,步骤一致,换个仓库名称和地址即可)
- 将代理仓库加入到私服仓库组maven-public 到此,Nexus已经配置好了,下面我们要将这些配置到Maven的setting.xml中。
Maven管理器 --Nexus 搭建一,为什么要搭建Nexus二,环境准备三,解压安装四,配置Nexus私服
3)配置Maven
修改setting.xml(修改前请建议先做备份)
修改的时候只需要注意修改自己的IP地址和端口就可以了,url都是一样的指向maven-public仓库组,对着行号找添加相应的位置注意不要把标签弄丢了,修改完可以将这个xml在编译器中(比如idea)打开检查是否报错。
截图说明及代码:
<mirror>
<id>nexus-myself</id>
<mirrorOf>*</mirrorOf>
<name>Nexus myself</name>
<url>http://192.168.56.80:8081/repository/maven-public/</url>
</mirror>
<profile>
<id>mycof</id>
<repositories>
<!-- 私有库地址-->
<repository>
<id>nexus</id>
<url>http://192.168.56.80:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<!--插件库地址-->
<pluginRepository>
<id>nexus</id>
<url>http://192.168.56.80:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
<!--激活profile-->
<activeProfiles>
<activeProfile>mycof</activeProfile>
</activeProfiles>
<!--配置上传用户权限及仓库信息-->
<server>
<id>maven-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>maven-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
setting.xml修改配置完毕!
4)将本地jar包上传到私服
- 在idea中创建一个Maven项目
Maven管理器 --Nexus 搭建一,为什么要搭建Nexus二,环境准备三,解压安装四,配置Nexus私服 - pom.xml加入下面两段配置:
<repositories>
<repository>
<id>nexus</id>
<url>http://192.168.56.80:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<distributionManagement>
<repository>
<id>maven-releases</id>
<name>Nexus Release Repository</name>
<url>http://192.168.56.80:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>maven-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://192.168.56.80:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
- 执行maven的deploy命令 如果控制台出现了BUILD SUCCESS,并且没有报错说明上传成功
Maven管理器 --Nexus 搭建一,为什么要搭建Nexus二,环境准备三,解压安装四,配置Nexus私服 Maven管理器 --Nexus 搭建一,为什么要搭建Nexus二,环境准备三,解压安装四,配置Nexus私服 - 查看私服中(maven-public)上传好的依赖包。
Maven管理器 --Nexus 搭建一,为什么要搭建Nexus二,环境准备三,解压安装四,配置Nexus私服
5)第三方jar包上传
到这就完事了。