Maven私服搭建与使用:nexus,repository,mirror,distributionManagement
一、应用场景
- 第三方jar包下载:让私服public仓库可以代替中央仓库 central,成为类似于阿里云镜像一样的仓库。
- mirro实现:在settings.xml 中的 <mirros> 将私服的public仓库设置为 中央仓库central 的镜像。
- repository实现:在<repositories> 中添加私服的public仓库为远程仓库
- settings.xml 中的 <profiles> - <repositories>
- pom.xml 中的 <profiles> - <repositories>
- pom.xml 中的 <repositories>
- 部署公司内部的jar包,对公司内部人员开放使用
- 部署:<distributionManagement>设置部署公司内部releases版本jar包和 snapshot版本jar包的地址
- 下载:<repository>:将私服中releases和 snapshot仓库的地址添加进来。
- 标签理解,当第一个repository找不到想要的jar包,就会去下一个repository中找。
二、下载安装
2.1 下载
Nexus下载
2.2 解压
- 解压
[root@mysql-tomcat nexus]# ll
total 211404
-rw-r--r-- 1 root root 216470874 Sep 4 12:15 nexus-3.41.1-01-unix.tar.gz
drwxr-xr-x 3 root root 4096 Sep 4 12:14 sonatype-work
[root@mysql-tomcat nexus]# tar -zxvf nexus-3.41.1-01-unix.tar.gz
......
[root@mysql-tomcat nexus]# ll
total 211408
drwxr-xr-x 10 root root 4096 Sep 4 12:16 nexus-3.41.1-01
-rw-r--r-- 1 root root 216470874 Sep 4 12:15 nexus-3.41.1-01-unix.tar.gz
drwxr-xr-x 3 root root 4096 Sep 4 12:14 sonatype-work
- 删除压缩包
[root@mysql-tomcat nexus]# rm -rf nexus-3.41.1-01-unix.tar.gz
[root@mysql-tomcat nexus]# ll
total 8
drwxr-xr-x 10 root root 4096 Sep 4 12:16 nexus-3.41.1-01
drwxr-xr-x 3 root root 4096 Sep 4 12:14 sonatype-work
[root@mysql-tomcat nexus]#
三、Nexus配置
3.1 启动服务
[root@mysql-tomcat nexus]# ll
total 8
drwxr-xr-x 10 root root 4096 Sep 4 12:16 nexus-3.41.1-01
drwxr-xr-x 3 root root 4096 Sep 4 12:14 sonatype-work
[root@mysql-tomcat nexus]# cd nexus-3.41.1-01/
[root@mysql-tomcat nexus-3.41.1-01]# ll
total 96
drwxr-xr-x 3 root root 4096 Sep 4 12:16 bin
drwxr-xr-x 2 root root 4096 Sep 4 12:16 deploy
drwxr-xr-x 7 root root 4096 Sep 4 12:16 etc
drwxr-xr-x 5 root root 4096 Sep 4 12:16 lib
-rw-r--r-- 1 root root 651 Aug 18 21:55 NOTICE.txt
-rw-r--r-- 1 root root 17321 Aug 18 21:55 OSS-LICENSE.txt
-rw-r--r-- 1 root root 41954 Aug 18 21:55 PRO-LICENSE.txt
drwxr-xr-x 2 root root 4096 Sep 4 12:16 public
drwxr-xr-x 3 root root 4096 Sep 4 12:16 replicator
drwxr-xr-x 22 root root 4096 Sep 4 12:16 system
[root@mysql-tomcat nexus-3.41.1-01]# cd bin
[root@mysql-tomcat bin]# ll
total 32
drwxr-xr-x 2 root root 4096 Sep 4 12:16 contrib
-rwxr-xr-x 1 root root 18620 Aug 18 21:55 nexus
-rw-r--r-- 1 root root 15 Aug 18 21:55 nexus.rc
-rw-r--r-- 1 root root 1635 Aug 18 21:55 nexus.vmoptions
[root@mysql-tomcat bin]# ./ nexus start
-bash: ./: Is a directory
[root@mysql-tomcat bin]# ./nexus start
WARNING: ************************************************************
WARNING: Detected execution as "root" user. This is NOT recommended!
WARNING: ************************************************************
Starting nexus
[root@mysql-tomcat bin]#
3.2 配置nexus
3.2.1 登录
点击登录
查看用户名和密码
点击登录
3.2.2 配置
四、Nexus仓库使用
-
创建新项目:MavenTest-Nexus
-
使用新的本地仓库:maven_repository_nexus
-
4.1 使用public仓库下载第三方jar包
- 刷新maven
-
4.2 将开发的jar包部署到snapshot仓库
- 在新工程MavenTest-Nexus中创建类Demo
- 将MavenTest-Nexus工程的jar包部署到Nexus
-
4.3 使用snapshot仓库下载内部的jar包
-
在任意工程中引入MavenTest-Nexus工程依赖
-
使用MavenTest-Nexus工程中的类Demo
-
4.1 使用public仓库下载第三方jar包
4.1.1 配置settings.xml
<servers>
<server>
<id>nexus-mind</id>
<username>admin</username>
<password>123456</password>
</server>
</servers>
<mirrors>
<mirror>
<id>nexus-mind</id>
<mirrorOf>central</mirrorOf>
<name>Nexus public</name>
<url>http://120.77.44.184:8081/repository/maven-public/</url>
</mirror>
<!--
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
-->
</mirrors>
4.1.2 在IDEA中对Maven进行配置
4.1.3 刷新前本地仓库和Nexus public仓库
- 本地仓库
- Nexus public仓库
4.1.4 刷新后本地仓库和Nexus public仓库
- 本地仓库
- Nexus public仓库
4.2 将开发的jar包部署到snapshot仓库
4.2.1 创建类Demo
4.2.2 部署到Nexus
- 配置pom.xml
- 部署
部署前snapshots仓库
部署后snapshots仓库