你们公司用的 Maven 私服就是这么搭建的

为什么要搭建私服


当我们再 pom 文件中依赖了某个包后,如果在没有做特殊配置(也就是使用 maven 的默认配置)的情况下,Maven 会首先到本地仓库去搜索,如果本地仓库没有此依赖包,会到中央仓库获取,默认的中央仓库地址是 repo1.maven.org/maven2,服务器在国外,可想而知,速度是没办法保证的。有时候运气不好,晚上拉下来一个开源项目,执行 Maven 包安装,早上睡醒了一看,还没下载完,你说来气不。

image.png

当然国内也有相应的仓库,比如阿里的,速度还是很好的。

但是一般来讲,公司甚至团队内部都会搭建一个 Maven 私服,一来稳定性可以得到保证,再者,比如公司内部的一些基础包或者项目的通过工具包之类的,也可以放到上面来,从而提高项目开发的灵活度。

例如公司有一个底层工具包,没有私服的情况下,我们拿到这个包,要将它安装到本地仓库,需要执行如下命令:

mvn install:install-file -Dfile=common-util-0.0.1-SNAPSHOT.jar -DgroupId=com.kite -DartifactId=common-util -Dversion=0.0.1-SNAPSHOT -Dpackaging=jar 复制代码

一旦做了修改,本地还需要重新执行命令,是不是很麻烦。

私服搭建流程


Nexus 是用来搭建 Maven 私服的,可以说是最好的免费工具了,它的官网上是这样说的:“世界上第一个也是唯一的免费使用的仓库解决方案”。目前的最新版本是 OSS 3.x。提供了针对 Windows、Unix、OS X 三种系统的版本。

image.png

这里只简单说明 Linux 下的安装方式,如果是下载的最新版本,它对系统内存和 jdk 版本是有要求的,要求内存大于4G,jdk 最低是1.8版本。

  1. 下载包,并解压缩,运行命令

tar -zxvf nexus-version-unix.tar.gz 复制代码

  1. 进入 nexus-version/bin/`` 目录,执行命令./nexus start`

  2. 访问 默认的 8081 端口即可

没错,就是这么简单。

通常情况下,以上三步就可以完成安装,如果有问题,并且提示“ NOT RECOMMENDED TO RUN AS ROOT ”,可以通过修改 /bin/nexus 文件,在其中加入 RUN_AS_USER=root ,然后重新启动即可。

另外,如果是 docker 环境,可以直接获取 nexus 的镜像完成安装。例如我在 mac 上直接搜索了 nexus,然后下载并启动即可。

image.png

初识 Nexus


当我们通过地址,在浏览器上访问 nexus 的首页,是下图这样子的:

image.png

默认的账号名是 admin,密码是 admin123。管理员登录后,可以在设置页面管理角色、用户等其他一系列的操作。例如创建一个角色,给角色设置某一仓库的管理权限,然后向这个角色中添加人员。具体操作不做过多介绍,一看就明白。

管理员还可以管理仓库,不过一般来说,默认的那几个仓库就可以了。默认有如下几个仓库:

image.png

几种 type 是什么意思

proxy:这是代理方式,它是用来代理中央仓库的,例如我们依赖的包在本地仓库没有,就会到私服获取,私服没有的话,会到中央仓库先把包下载到这里,然后再下载到本地仓库;

hosted:指的是我们公司或团队内部的包,并且 hosted 类型的仓库会分为 releases 和 snapshots 两个,前者是正式版,后者一般是开发测试版;

group:它的目的就是把多个仓库组合起来,然后我们项目中只需要配置上这个类型的仓库地址,就可以把它里面组合的几个仓库都关联上。

在项目中使用


获取依赖包

  • 17
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值