Maven
2年前 (2024-04-27)
Maven 是一种特殊的远程仓库,它是架设在局域网内的仓库服务,用来代理位于外部的远程仓库(中央仓库、其他远程公共仓库)。
此外,一些无法从外部仓库下载到的构件,也能从本地上传到供其他人使用。
下图中展示了 Maven 的用途。

建立后,即使外部网络状况不佳甚中断,只要中已经缓存了所需的构件,Maven 也能够正常运行。
其中,Sonatype Nexus 是当前、使用最广泛的 Maven 仓库管理器,您可以转到《Nexus教程》学习 Maven 的搭建流程。
建立了 Maven 后,当局域网内的用户需要某个构件时,会按照如下顺序进行请求和下载。
请求本地仓库,若本地仓库不存在所需构件,则跳转到第 2 步;
请求 Maven ,将所需构件下载到本地仓库,若中不存在所需构件,则跳转到第 3 步。
请求外部的远程仓库,将所需构件下载并缓存到 Maven ,若外部远程仓库不存在所需构件,则 Maven 直接报错。
此外,一些无法从外部仓库下载到的构件,也能从本地上传到供其他人使用。
下图中展示了 Maven 的用途。

图1 Maven 的用途
Maven 优势
Maven 具有以下 5 点优势:
节省外网带宽
大量对于外部远程仓库的重复请求,会消耗很大量的带宽,利用 Maven 代理外部仓库后,能够消除对外部仓库的大量重复请求,降低外网带宽压力。
更快
Maven 位于局域网内,从下载构建更快更稳定。便于部署第三方构件
有些构件是无法从任何一个远程仓库中获得的(例如,某公司或组织内部的私有构件、Oracle 的 JDBC 驱动等),建立之后,就可以将这些构件部署到中,供内部 Maven 项目使用。
提高项目的稳定性,增强对项目的控制
如果不建立,那么 Maven 项目的构件就高度依赖外部的远程仓库,若外部网络不稳定,则项目的构建过程也会变得不稳定。建立后,即使外部网络状况不佳甚中断,只要中已经缓存了所需的构件,Maven 也能够正常运行。
此外,一些软件(如 Nexus)还提供了很多额外控制功能,例如,权限管理、RELEASE/SNAPSHOT 版本控制等,可以对仓库进行一些更加高级的控制。
降低中央仓库得负荷压力
由于会缓存中央仓库得构件,避免了很多对中央仓库的重复下载,降低了中央仓库的负荷。
Maven 搭建
能够帮助我们建立 Maven 的软件被称为 Maven 仓库管理器(Repository Manager),主要有以下 3 种:
Apache Archiva
JFrog Artifactory
Sonatype Nexus
其中,Sonatype Nexus 是当前、使用最广泛的 Maven 仓库管理器,您可以转到《Nexus教程》学习 Maven 的搭建流程。
- 随机文章
- 核心危机(核心危机魔石合成攻略)
- 风儿(风儿轻轻的吹)
- 饿了么红包怎么用(饿了么红包怎么用微信支付)
- 光遇花手先祖位置(安卓光遇手花先祖)
- 广州4a广告公司(广州4a广告公司创意总监年薪)
- 抖音卡(抖音卡顿怎么解决)
- xboxones(xboxone手柄怎么配对主机)
- 兵马俑(兵马俑介绍和历史背景)
- 陈武简历
- 帆船比赛(帆船比赛视频)
- 海猫鸣泣之时游戏(海猫鸣泣之时游戏在哪玩)
- 韩国媳妇和小雪(韩国媳妇和小雪的父亲工资是多少)
- 鬼泣5攻略(鬼泣5攻略第三关怎么跳)
- 地球日主题(2020年世界地球日主题)
- 冰客(冰客果汁)
- yy魔兽(yy魔兽世界)
- 国外成人游戏(国外成人游戏注册需要visa信用卡)
- 充值卡代理(充值卡代理加盟)
- 拆奶罩
- 杭同(杭同培训中心怎么样)
- 大松电饭煲(美的大松电饭煲)
- 点对点短信息(点对点短信息费是什么意思)
- 观音普门品(观音普门品念诵全文)
- 河北省大运会(河北省大运会时间)
- 骇客神条(骇客神条怎么辨别真假)
- 杜星霖(杜星霖图片)
- 查传倜(查传倜个人生活)
- 广州晓港公园(广州晓港公园正门图片)
- 钢筋等级符号(钢筋等级符号电脑怎么输入)
- 常州天宁寺(常州天宁寺求什么灵验)
