目录
仓库:
- 用于存储资源,包含各种jar包
仓库分类:
- 本地仓库:
- 自己电脑上存储资源的仓库,连接远程仓库获取资源
- 远程仓库:
- 非本机电脑上的仓库,为本地仓库提供资源
- 中央仓库:
- Maven团队维护,存储所有资源的仓库
- 私服:
- 部门/公司范围内存储资源的仓库,从中央仓库获取资源
私服的作用:
- 1.保存具有版权的资源,包含购买或自主研发的jar
- 中央仓库中的jar都是开源的,不能存储具有版权的资源
- 2.一定范围内共享资源,仅对内部开放,不对外共享
- 3.节省自己的外网带宽
- 大量的对于外部仓库的重复请求会消耗很大的带宽
- 利用私服代理外部仓库之后,对外的重复构件下载便得以消除,即降低外网带宽的压力
- 4.加速Maven构建
- 不停的连接请求外部仓库是十分耗时的
- 但是Maven的一些内部机制(如快照更新检查)要求Maven在执行构建的时候不停的检查远程仓库数据
- 因此,当项目配置了很多外部远程仓库的时候,构建的速度会被大大降低
- 使用私服可以很好的解决这一问题
- 当Maven只需要检查局域网内私服的数据时,构建的速度便能得到很大程度的提高
- 5.提高稳定性,增强控制
- Maven构建高度依赖远程仓库,因此当Internet不稳定的时候,Maven构建也会变得不稳定,甚至无法构建
- 使用私服后,即使暂时没有Internet连接,由于私服中已经缓存了大量构件,Maven也仍然可以正常运行
- 此外,一些私服软件,如Nexus还提供了很多额外的功能,如权限管理,RELEASE/SNAPSHOT区分等,管理员可以对仓库进行一些更高级的控制
- 6.降低中央仓库的负荷
- 运行并维护一个中央仓库不是一件容易的事情,服务数百万的请求,存储数T的数据,需要相当大的财力
- 使用私服可以避免很多对中央仓库的重复下载,想象一下,一个有数百位开发人员的公司,在不适用私服的情况下,一个构件往往会被下载数百次;
- 建立私服之后,这几百次下载就只会发生在内网范围内,私服对于中央仓库只有一次下载
坐标
什么是坐标
- Maven中的坐标用于描述仓库中资源的位置
Maven坐标主要组成
- groupId:
- 定义当前Maven项目隶属组织名称(通常是域名反写,例如:org.mybatis)
- artifactId:
- 定义当前Maven项目名称(通常是模块名称,例如CRM,SMS)
- version:
- 定义当前项目版本号
Maven坐标的使用
- 使用唯一标识,唯一性定位资源位置
- 通过该标识可以将资源的识别与下载工作交由机器完成
仓库配置
- 在非系统盘下创建maven目录
- 然后在这里面创建一个repository(仓库)目录
- 然后去maven的安装目录下的conf文件夹下
- 把里面的settings.xml粘到之前创建好了的maven目录下
- 但maven默认本地仓库位置在C盘用户名的.m2目录下
- 我们肯定不配系统盘里
- 所以把下面localRepository标签复制下
- 移到下面更改内容为自己所需要配的目录
- 注意:安装目录那块也要改,保持一致
- 而中央仓库站点不在中国,下载速度会非常慢
- 所以需要镜像仓库
- 同样也要保持一致
<!-- 阿里云仓库 --> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror>
本文含有隐藏内容,请 开通VIP 后查看