1. 何为Maven仓库

Maven仓库就是统一存放所有依赖的地方,其他所有项目都可以在仓库里通过坐标找到所需要的依赖。

2. 仓库的布局

任何一个构件都有其唯一的坐标,根据这个坐标可以定义其在仓库中的唯一存储路径,这便是Maven仓库布局方式。例如,log4j:log4j:1.2.15这一依赖,其对应的仓库路径为log4j/log4j/1.2.15/log4j-1.2.15.jar。该路径与坐标的大致对应关系为groupId/artifactId/version/artifactId-version.packaging

3.仓库的分类

对Maven来说,仓库只分为两类:本地仓库和远程仓库。当Maven根据坐标寻找构件的时候,它首先会查看本地仓库,如果本地仓库存在此构建,则直接使用。如果不存在,Maven就会去远程仓库查找,发现需要的构建之后,下载到本地仓库使用。

3.1 本地仓库

一般情况下,无论是在Windows还是Linux,Maven本地仓库的地址是在用户目录下的.m2/repository里。

其中在.m2文件夹中有一个setting.xml配置文件,通过这个文件可以改变一些仓库的设置。默认情况下settings.xml文件并不存在,用户需要从Maven安装目录复制$M2_HOME/conf/settings.xml文件再进行编辑。

全局范围的配置文件

全局目录的settings.xml文件指的是$M2_HOME/conf/settings.xml文件,修改这个文件,整台机器上的所有用户都会直接受到影响。

用户范围的配置文件

而~/.m2/settings.xml文件是用户范围的,只有当前用户才会受到该配置的影响。建议修改~/.m2/settings.xml文件,避免自己的修改影响到系统中的其他用户。

改变本地仓库的目录地址

编辑settings.xml文件,设置localRepository元素为想要的仓库地址,如:

<settings>
    <localRepository>D:\jva\repository\</localRepository>
</settings>

将构件安装到本地仓库

在某个项目中执行mvn clean install命令就可以将该项目安装到本地仓库。在命令行可以看到弹出提示:[INFO]Installing .... to .... ,这表示正在将构件安装到本地仓库。

3.2 远程仓库

安装好Maven之后,如果不执行任何Maven命令,本地仓库目录是不存在的。当用户输入第一条Maven命令之后,Maven才会创建本地仓库,并根据配置和需要,从远程仓库下载构建至本地仓库。

常用的远程仓库有:

Java.net Maven -> http://download.java.net/maven/2/

JBoss Maven -> http://repository.jboss.com/maven2/

3.3 中央仓库

中央仓库其实就是一个远程仓库,不同的是这个仓库是Maven官方提供的,专门为全世界的Java程序员提供服务。如果你下载Maven后没有修改settings.xml配置文件,那么你默认就会从这个中央仓库里下载构件。

3.4 私服

对于本地的Maven仓库来说,私服也可以算是一个远程的仓库,只不过这个仓库与本机处于同一个局域网下。通过私服可以更快地下载所需的构件,并且私服拥有的环境更加稳定。此外,也可以将一些公共的构件部署到私服上,提供给其他成员使用。

4.远程仓库的配置

4.Maven仓库的更多相关文章

  1. 转:aliyun阿里云Maven仓库地址——加速你的maven构建

    maven仓库用过的人都知道,国内有多么的悲催.还好有比较好用的镜像可以使用,尽快记录下来.速度提升100倍. http://maven.aliyun.com/nexus/#view-reposito ...

  2. aliyun阿里云Maven仓库地址——加速你的maven构建

    maven仓库用过的人都知道,国内有多么的悲催.还好有比较好用的镜像可以使用,尽快记录下来.速度提升100倍. http://maven.aliyun.com/nexus/#view-reposito ...

  3. maven仓库信息分析站点推荐

    maven是java的一个依赖,打包管理的工具,稍微大一点的java项目都需要使用maven. 随着java的壮大,maven仓库越来越大,仓库中的jar包有60多万,各种group,各种构件,各种版 ...

  4. 国内好用的maven仓库,添加到本地nexus中

    速度快的maven仓库真的难找,国外网站很多被封了.前天在网上找,有人说阿里有个公开的,速度很快.确实很快! 我添加到本地nexus中,结果不能更新索引,我是这么添加的,如下: 这个地址在浏览器中能够 ...

  5. Maven最佳实践:Maven仓库(转)

    转自:http://juvenshun.iteye.com/blog/359256 什么是Maven仓库 在不用Maven的时候,比如说以前我们用Ant构建项目,在项目目录下,往往会看到一个名为/li ...

  6. maven仓库使用

    maven镜像仓库 1.国内maven镜像仓库 阿里云镜像 <mirrors> <mirror> <id>aliyun</id> <name> ...

  7. maven 仓库地址:

    maven 仓库地址: 共有的仓库 http://repo1.maven.org/maven2/http://repository.jboss.com/maven2/ http://repositor ...

  8. 配置maven仓库

    1.安装完,配置好环境变量 mvn -v 检查是否成功 mvn install 会将项目生成的构件安装到本地maven仓库 2.settings.xml文件配置: 1)修改本地仓库位置 maven_h ...

  9. 收集的maven 仓库地址(maven repository)

    maven 仓库地址: 共有的仓库http://repo1.maven.org/maven2/http://repository.jboss.com/maven2/http://repository. ...

  10. maven仓库介绍《本地仓库、远程仓库》

    在Maven中,任何一个依赖.插件或者项目构建的输出,都可以称之为构件.Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库.(仓库就是存放依赖和插件的地方)任何的构件 ...

随机推荐

  1. strpos、 strstr、 substr三个函数的对比讲解

    mixed strpos ( string $haystack , mixed $needle [, int $offset = 0 ] ) 返回 needle 在 haystack 中首次出现的数字 ...

  2. BZOJ 1076: [SCOI2008]奖励关(概率+dp)

    首先嘛,看了这么久概率论真的不错啊。看到就知道怎么写(其实也挺容易的= =) 直接数位dp就行了 CODE: #include<cstdio> #include<cstring> ...

  3. webstorm 编辑器破解 (麻麻再也不用担心过期了)

    先去官网下载webstorm2016.1.3版本(目前只知道2016.1这个版本可以永久破解,不会过期) 再下载webstorm2016.1的破解补丁 将下载好的破解补丁解压,会有一个Jetbrain ...

  4. [转]云计算之hadoop、hive、hue、oozie、sqoop、hbase、zookeeper环境搭建及配置文件

     云计算之hadoop.hive.hue.oozie.sqoop.hbase.zookeeper环境搭建及配置文件已经托管到githubhttps://github.com/sxyx2008/clou ...

  5. Jsp——http status 404 问题

    今天学习Jspapplication内置对象的时候突然碰到了一个问题——http status 404 发生了什么? 提示The requested resource is not available ...

  6. java里Struts2学习登录练习详解

    最近在学struts2里面遇到很多错误,今天跟大家分享一下,我的开发工具是Eclipse: 1.到网上下载Struts2的包,这里不再累赘,百度有很多: 2.新建一个项目,记得后面加上web.xml文 ...

  7. lua和c的亲密接触

    介绍 lua和c的亲密接触,靠的是一个虚拟栈.lua通过这个虚拟栈来实现和c之间值的互传.栈上的每一个元素是一个lua值(nil,number,string...). 当lua调用c函数的时候,这个函 ...

  8. 使用curl操作InfluxDB

    这里列举几个简单的示例代码,更多信息请参考InfluxDB官方文档: https://docs.influxdata.com/influxdb/v1.1/ 环境: CentOS6.5_x64Influ ...

  9. KoaHub平台基于Node.js开发的Koa的调试实用程序

    debug small debugging utility debug tiny node.js debugging utility modelled after node core's debugg ...

  10. 2620: [Usaco2012 Mar]Haybale Restacking

    2620: [Usaco2012 Mar]Haybale Restacking Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 201  Solved:  ...