maven系列:大话私服

前面我们讲解仓库的层级结构的时候也提到了私服,现在我们就详细讲解一下我们要借助nexus来实现我们想要的私服
一)下载安装
https://www.sonatype.com/download-oss-sonatype
下载对应版本(例子中我们下载的是windows版本),然后解压,会有两个文件夹(一个sonatype-work,一个nexus-3.14.0-04【后面的数字是版本号,具体看你下载时候的版本,可能会跟我的不一样】)
然后cmd到nexus-3.14.0-04\bin,我们看到有exe文件,执行命令nexus.exe/run启动,这个过程时间会比较长,还请耐心等待,启动成功之后,浏览器输入localhost:8081
mvn11.png 

出现上面的界面就代表ok了

二)nexus中的仓库
上面的页面我们点击右上角sign in(默认用户名和密码是admin admin123),我们登录进去之后点击配置和仓库,进入如下页面
mvn12.png 


1)name
maven-central:中央仓库的代理仓库
maven-public:仓库组,这个最全面啦
maven-releases:宿主仓库(可以在生产环境使用)
maven-snapshots:宿主仓库(但是是测试版本,测试成功之后,就可以放入到maven-releases中)
(补充,3rd party:别的厂商的一些依赖)


2)type
proxy:代理仓库,代理公司外部的各种仓库
group:仓库组,讲各种代理仓库,宿主仓库组成一个虚拟的仓库组,这样我们的开发使用这个就可以使用其他的所有的仓库中的依赖了
hosted:宿主仓库,公司中A成员把代码发布包部署到这个仓库来,公司中B成员就可以从这个仓库中下载依赖去使用

3)format
我们现在都使用的是maven2(maven1已经成为了历史,让我们忘掉它吧)

三)实际开发几种状况
1)只有一个系统在开发中,依赖链路非常清晰
mvn13.png 


2)A项目还在测试阶段,来了个B项目,B说,我要依赖你,这个时候需要把A作为一个仓库
mvn14.png 


3)A项目上线了,所以需要把A搞成依赖扔到生产仓库
mvn15.png 


四)添加新仓库
点击页面,create repository按钮,选择maven2(hosted),填入name,比如3rd-party,点击saven按钮
回到repositories页面,我们点击maven-central,把proxy替换成阿里云的镜像地址http://maven.aliyun.com/nexus/content/groups/public,
回到repositories页面,我们点击maven-public,把group中新增的仓库添加到public仓库中去

因为还没有让私服和本地开发关联起来,我们可以看到私服仓库中没有依赖文件
mvn19.png 


五)强制让所有远程仓库请求通过镜像走私服
我们看一下maven的配置文件setting.xml
如果公司不要求或者自己实战练习,直接配置阿里云的镜像下载到本地仓库就可以了,如下

 

  1.         
  2.                 nexus-aliyun
  3.                 *
  4.                 Nexus aliyun
  5.                 http://maven.aliyun.com/nexus/content/groups/public
  6.         

复制代码




但是企业级的实战,是要求统一管控,需要做如下修改,首先是mirror配置

  1.         
  2.                 nexus
  3.                 *
  4.                 http://localhost:8081/nexus/content/groups/public
  5.         

复制代码




如上就强制把镜像改为私服,【实际工作中,ip地址会是公司给的】
然后就是添加一个profile配置,覆盖超级pom.xml重的远程仓库和插件仓库

  1.                 nexus
  2.               
  3.                         
  4.                                 central
  5.                                 Nexus
  6.                                 http://central
  7.                                 true
  8.                                 true
  9.                         
  10.               
  11.               
  12.                         
  13.                                 central
  14.                                 Nexus Plugin Repository
  15.                                 http://central
  16.                                 true
  17.                                 true
  18.                         
  19.               
  20.         

复制代码




最后给上面的配置需要做生效配置

  1.         
  2.                 nexus
  3.         

复制代码




配置好了,在本地项目添加依赖,就会走如下流程
mvn23.png 
同时我们去私服网站看一下,我们发现私服中有了相关依赖
mvn22.png 

同时本地添加新依赖也会去仓库中下载依赖
mvn21.png 

至此,我们整个流程就跑通了,庆祝一下吧,我们的私服可以使用了


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部