1、maven的仓库只有2类,第一种是本地仓库,默认在%USER_HOME%/.m2/repository目录下;第二种是远程仓库,默认的是maven提供的中央仓库,另外还有很多中央仓库的镜像仓库,以及第三方仓库。一般来说,项目组会在自己的maven服务器上建私服
2、私服的一个重要作用,是代替中央仓库来提供构件下载。maven项目需要在pom文件中设置私服的位置
<project>
<repositories>
<repository>
<id></id>
<name></name>
<url></url>
<releases><enable></enable></releases>
<snapshots><enabled></enabled></snapshots>
<layout>default</layout>
</repository>
</repositories>
</project>
如果私服需要用户名和密码校验的话,是在settings.xml里进行配置
3、私服的另一个重要作用,是把项目构建之后得到的成品,部署到私服上,这样才能提供给别的项目依赖,这个也是在pom中设置的
<project>
<distributionManagement>
<repository>
<id />
<name />
<url />
</repository>
<snapshotRepository>
<id />
<name />
<url />
</snapshotRepository>
</distributionManagement>
</project>
4、maven的版本管理中一个很重要的概念就是SNAPSHOT,如果没有这个机制的话,那么如果项目A依赖项目B,而项目B还处于开发之中,那么双方都要一直修改版本号,很麻烦,而且版本号变更后的知会也是一个问题
有了snapshot机制,则maven会自动检测,开发人员可以从中解脱出来
5、在settings.xml中,还可以设置镜像
<settings>
<mirrors>
<mirror>
<id />
<name />
<url />
<mirrorOf></mirrorOf>
</mirror>
</mirrors>
</settings>
6、仓库搜索服务
以下几个网址,可以提供仓库搜索服务。输入项目的名称之后,可以找到项目构件对应的坐标
http://repository.sonatype.org
http://www.jarvana.com/jarvana
http://www.mvnbrowser.com
http://mvnrepository.com