1. 什么是Maven仓库what?

顾名思义,仓库是用来装资源的。 Maven仓库是用来装载主流开源的构件(比如:log4j-xx.jar构件)。

2. 为什么需要Maven仓库?

在做某个产品中,maven项目可能有十几个,每个maven项目都使用某些相同的构件(比如:log4j-xx.jar),这样做既浪费磁盘空间,而且难于统一管理。

3. 仓库的分类

3.1 本地仓库

本地仓库一般存放在用户目录下面的.m2/repository/路径下。如需要设置本地仓库的目录,可以编辑 .m2/settings.xml文件,在<settings>根元素下面加入以下代码L

<localRepository>C:/Users/Administrator/.m2/repository</localRepository>

3.2 远程仓库

第一次安装Maven,本地仓库目录是不存在的,当用户输入第一条Maven命令后,Maven才会创建本地仓库。本地仓库的构件都是从远程仓库获取的。

3.3 中央仓库

中央仓库是Maven自带的,第一次安装Maven,如果没有指定其他的远程仓库,Maven是自动从中央仓库下载构件到本地仓库。中央仓库的配置地址如下图:

3.4 私服

私服是架设到局域网的Maven仓库。其好处有一下几点:
1、节省自己的外网带宽
2、加速Maven的构件,从中央仓库下载构件到本地仓库,下载速度取决于网速的速度。网速的不稳定会导致构件下载不全,导致本地Maven项目搜索不到缺失的构件。
3、部署第三方构件,Oracle的JDBC由于版本的因素不能部署到中央仓库
……..

4. 远程仓库的配置

JBoss Maven仓库配置:

<repositories><repository><id>jobss</id><name>JBoss Repository</name><layout>default</layout><url>http://repository.jboss.com/maven2/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots></repository></repositories>

元素介绍

  1. repositories:表示可以配置一个或者多个远程仓库
  2. repository:表示一个仓库
  3. id:表示仓库的标识,必须唯一
  4. url:表示仓库的地址(http协议的,可以直接在浏览器运行)

releases和snapshots 元素比较重要,他们是用来控制maven对发部版构件和快照构件的下载。
1. releases的enabled的值为true,表示JBoss 仓库的发布版本的下载支持。
2. snapshots的enabled的值为false,表示JBoss仓库的快照版本的下载关闭。
3. layout元素值defualt表示仓库的布局是maven2及maven3的默认布局,而不是maven1的布局。

releases和snapshots来说,除了enabled,它们还包含另外两个子元素updatePolicy和checksumPolicy:

<snapshots><enabled>true</enabled><updatePolicy>daily</updatePolicy><checksumPolicy>ignore</checksumPolicy>
</snapshots>

元素updatePolicy用来配置Maven从远程仓库检查更新的频率

  1. 默认是daily——表示Maven每天检查一次
  2. never——从不检查更新
  3. always——每次构建都检查更新
  4. interval:X——每隔X分钟检查一次更新(X为任意整数)

元素checksumPolicy用来配置Maven检查检验和文件的策略。当构件被部署到Maven仓库中时,会同时部署对应的校验和文件。下载构件的时候,Maven会验证校验和文件,如果校验和验证失败,怎么办?
当checksumPolicy的值为默认的warn时,Maven会在执行构件时输出警告信息,

  1. fail——Maven 遇到的校验和错误就让构建失败
  2. ignore——使Maven完全忽略校验和错误

Maven读书笔记之六(仓库)相关推荐

  1. 《C#图解教程》读书笔记之六:接口和转换

    本篇已收录至<C#图解教程>读书笔记目录贴,点击访问该目录可获取更多内容. 一.接口那点事儿 (1)什么是接口? 一组函数成员而未实现的引用类型.只有类和结构能实现接口. (2)从ICom ...

  2. Maven读书笔记之七(生命周期和插件)

    1. 生命周期What? Maven一般能自动化执行的生命周期有清理.编译.测试.打包,部署. 2. 生命周期详解 2.1 三套生命周期 2.1.1 clean生命周期 pre-clean:清理前的准 ...

  3. 《大型网站技术架构》读书笔记之六:永无止境之网站的伸缩性架构

    首先,所谓网站的伸缩性,指不需要改变网站的软硬件设计,仅仅通过改变部署的服务器数量就可以扩大或者缩小网站的服务处理能力.在整个互联网行业的发展渐进演化中,最重要的技术就是服务器集群,通过不断地向集群中 ...

  4. [原创]Maven实战-读书笔记

    Maven读书笔记  Maven读书笔记 依赖 快捷键:Alt+Shift+X M 使用ArcheType来创建Maven项目骨架: Maven中坐标的定义 依赖范围 依赖传递 依赖调解 可选依赖 ...

  5. 《编程匠艺》读书笔记

    <编程匠艺>读书笔记之一 <编程匠艺>读书笔记之二 <编程匠艺>读书笔记之三 <编程匠艺>读书笔记之四 <编程匠艺>读书笔记之五 <编 ...

  6. 软件测试中文电子版姚静_软件测试[(美)ron patton]读书笔记

    雪舞奉天读书笔记                                   msn: wwwux@163.com 第一部分 软件测试综述 软件测试 - 机械工业出版社 (美) Ron Pat ...

  7. Maven-学习笔记02【基础-Maven的安装和仓库种类】

    Java后端 学习路线 笔记汇总表[黑马程序员] 黑马程序员(腾讯微云)Maven基础讲义.pdf Maven-学习笔记01[基础-Maven基本概念] Maven-学习笔记02[基础-Maven的安 ...

  8. 11月3日云栖精选夜读:《maven实战》读书笔记2——maven安装(windows和eclipse插件)...

    前言 由于我的工作中开发环境就是windows,IDE是eclipse,因此安装也只涉及和记录这两部分,在看书和动手的过程也就直接跳过其他部分. 笔记 windows中maven的安装 安装条件 ma ...

  9. Maven读书系列:Maven仓库

    2019独角兽企业重金招聘Python工程师标准>>> 什么是Maven仓库 在不用Maven的时候,比如说以前我们用Ant构建项目,在项目目录下,往往会看到一个名为/lib的子目录 ...

最新文章

  1. Java项目:垃圾分类查询管理系统(java+SSM+jsp+MySQL+bootstrap)
  2. 【c#】24点游戏的实现(可存档且局域网互联)
  3. java代码简单操作Redis数据Jedis jar
  4. JavaScript-基础入门.0014.JavaScript内置对象
  5. shell 判断文件是否存在,没有则创建
  6. Git分支创建、合并、上传等命令
  7. MySQL文件后_MySQL误删除文件后,如何恢复
  8. SQL2000无法建立管理单元
  9. 关于 vmware虚拟机的一些问题及解决办法备忘
  10. pandas 选择数据 字符串_读完本文,轻松玩转数据处理利器Pandas 1.0
  11. Python办公自动化(二)|从Excel到Word
  12. github private链接访问_Hands-On Design Patterns With C++(十八)访问者模式与多分派(下)...
  13. 点击button后改变文字_24. 教你零基础搭建小程序:小程序的常见组件(5)— button标签...
  14. HTML深海骑兵制作,深海迷航代码独眼巨人号护盾发生器 | 手游网游页游攻略大全...
  15. php新浪博客模板,supersite php模板
  16. 【干货】提升个人能力的宝藏。适合大学生学习的网站
  17. ThreeJS-geoJson-开发记录
  18. 三维基础建模知识,看完就会
  19. 华为鸿蒙系统超级终端,华为发布鸿蒙OS Connect 打造鸿蒙硬件“超级终端”概念...
  20. nodejs -- 使用seneca模块搭建为服务

热门文章

  1. Assuming drive cache: write through 因为硬盘内存不足VM虚拟机开不了机的问题
  2. NIKE ZOOM ASTORIA SKY HI ACG (MUSTARD/TAN)
  3. 【渝粤题库】陕西师范大学180108 有效教学的理论与实践
  4. 一种基于BP神经网络的车牌字符识别方法
  5. C语言编程>第二十七周 ① 请补充fun函数,该函数的功能是:寻找两个整数之间的所有素数(包括这两个整数),把结果保存在数组a中,函数返回素数的个数。
  6. 记一次在vue项目上使用七牛文件上传的坑
  7. BFS解决一般性的泊松分酒问题
  8. pythonstdin_详解Python 中sys.stdin.readline()的用法
  9. 11 wifi6速率_使用高端的WIFI6路由器是什么体验?Orbi RBK752
  10. ESP32-C3 学习测试 蓝牙 篇(五、添加 characteristic)