Maven读书笔记之六(仓库)

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完全忽略校验和错误
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值