关于Maven仓库的学习笔记

Maven简介

在搞清楚仓库的概念之前需要先理解一下概念:

1、在Maven中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件。

2、Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库。(仓库就是存放依赖和插件的地方)

3、在没有 Maven 时,项目用到的 .jar 文件通常需要拷贝到 /lib 目录,项目多了,拷贝的文件副本就多了,占用磁盘空间,且难于管理。Maven 使用一个称之为仓库的目录,根据构件的坐标统一存储这些构件的唯一副本,在项目中通过依赖声明,可以方便的引用构件。

4、任何的构件都有唯一的坐标,Maven根据这个坐标定义了构件在仓库中的唯一存储路径

根据下面的一个图看一下maven仓库的分类:

QQ鎴浘20160527211042.jpg

Maven 仓库分为本地仓库远程仓库,寻找构件时,首先从本地仓库找,找不到则到远程仓库找,再找不到就报错;在远程仓库中找到了,就下载到本地仓库再使用。

中央仓库是 Maven  核心自带的远程仓库,默认地址:https://repo.maven.apache.org/maven2。(其实http://repo1.maven.org/maven2/是真正的Maven中央仓库的地址)

除了中央仓库,还有其它很多公共远程仓库,比如http://repository.jboss.com/maven2/

私服是架设在本机或局域网中的一种特殊的远程仓库,通过私服可以方便的管理其它所有的外部远程仓库,通常用在公司内部。

 

本地仓库

Maven 本地仓库默认地址为:${user.home}/.m2/repository。比如下面我的电脑中的本地仓库目录地址:

QQ鎴浘20160527211530.jpg

当然,本地仓库是可以迁移到别的目录,需要修改maven目录中的配置文件:

QQ鎴浘20160527211804.jpg

打开setting.xml配置文件后,修改如下:

QQ鎴浘20160527212306.jpg

当然,Eclipse中相应也得修改啦:

QQ鎴浘20160527212613.jpg

 

中央仓库

 

安装完 Maven ,本地仓库几乎是空的,这时需要从远程仓库下载所需构件。Maven 配置了一个默认的远程仓库,即中央仓库,找到  %MAVEN_HOME%/lib/maven-model-builder-3.2.1.jar,打开 org/apache/maven/model /pom-4.0.0.xml 超级POM:

QQ鎴浘20160527213122.jpg

所有的maven项目都会继承超级pom,中央仓库包含了绝大多数流行的开源Java构件,以及源码、作者信息、SCM、信息、许可证信息等。一般来说,简单的Java项目依赖的构件都可以在这里下载到。

当然,当中央仓库找不到所需的构件时,我们可以配置 pom.xml ,添加其它的远程仓库。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
< repositories >
     < repository >
         < id >Sonatype</ id >
         < name >Sonatype Repository</ name >
         < url >http://repository.sonatype.org/content/groups/public/</ url >
         < layout >default</ layout >
         < releases >
             < enabled >true</ enabled >
         </ releases >
         < snapshots >
             < enabled >false</ enabled >
         </ snapshots >
     </ repository >
</ repositories >

其中 id 必须唯一,若不唯一,如设置为 central 将覆盖中央仓库的配置。

 

公共远程仓库

 

以下是比较常用的远程仓库,可以用来缓解中央仓库的访问压力。

http://repository.jboss.com/maven2/ 
http://repository.sonatype.org/content/groups/public/ 

 

私服


如果某个IP地址恶意的下载中央仓库内容,例如全公司100台机器使用同一个IP反复下载,这个IP(甚至是IP段)会进入黑名单,因此稍有规模的使用Maven时,应该用Nexus架设私服。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值