用来统一存储所有maven共享构建的位置就是仓库。
Maven仓库布局:
根据maven坐标定义每个构建在仓库中唯一存储路径
大致格式为:groupId/artifactId/version/artifactId-version.packaging
例如:上面的依赖Hello在仓库中的位置为:
<dependency>
<groupId>cn.itcast.maven</groupId>
<artifactId>Hello</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
首先是groupId,定义是cn.itcast.maven,也就是说是在%仓库%文件夹下的cn/itcast/maven,
然后是artifactId,定义是Hello,所以现在的路径变为%仓库%/cn.itcast/maven/Hello
然后是版本,定义是0.0.1-SNAPSHOT,所以路径是%仓库%/cn/itcast/maven/Hello/0.0.1-SNAPSHOT
最后是默认的<packaging>,默认值为jar,所以最终路径是:
%仓库%/cn/itcast/maven/Hello/0.0.1-SNAPSHOT/Hello-0.0.1-SNAPSHOT.jar
这样就在仓库中定位了唯一的它的一个依赖文件。
仓库分类:
本地仓库:每个用户只有一个本地仓库,是~/.m2/settings.xml文件中定义的路径。如果不定义,则在.m2路径。
远程仓库:
中央仓库:maven默认的远程仓库:http://repo1.maven.org/maven2
私服:是一个特殊的远程仓库,是架设在局域网内的仓库。
镜像:用来替代中央仓库,速度一般比中央仓库快。