定义
仓库:就是存放构件的地方。
仓库分为两大类:
1 本地仓库
2 远程仓库
2.1 中央仓库
2.2 其他公共库
2.3 私服
本地仓库,顾名思义就是本地本机放置构件的地方。Maven从远程仓库down下来的构件,都存放在本地仓库中,项目可以从本地Maven仓库中获取自己所依赖的文件。
远程仓库,运行Maven时,Maven所需要的任何构件都是从本地仓库获取的。但如果本地仓库没有,它就会尝试从远程仓库中下载构件到本地仓库,然后使用本地仓库中的构件。其中,私服一般是指公司内部使用的仓库。如果Maven无法连接到远程仓库,将无法正常构建项目。
配置
本地仓库
Maven缺省的本地仓库地址为 ${user.home}/.m2/repository 。
我们可以自定义本地仓库的位置,我的Maven是解压版,可以直接打开${user.home}/conf/settings.xml进行修改
<setting>
<localRepository>local repository</localRepository>
</setting>
远程仓库
中央仓库
1. 可以在Maven项目中的POM.XML中设置。Maven默认中央仓库的id 为 central,因此使用<id>central</id>可以覆盖默认中央仓库。由于这样写只能在一个项目中有效,并不推荐使用。
<repositories>
<repository>
<id>central</id>
<name>Central Repository</name>
<url>http://repo.maven.apache.org/maven2</url>
<layout>default</layout>
<!-- 是否开启发布版构件下载 -->
<releases>
<enabled>true</enabled>
</releases>
<!-- 是否开启快照版构件下载 -->
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
2. 可以在${user.home}/conf/settings.xml中设置镜像,覆盖默认中央仓库。其中,<mirrorOf>可以设置为哪个中央仓库做镜像,* 代表所有中央仓库,如果只为central中央仓库做镜像,可以<mirrorOf>central</mirrorOf>
<mirror>
<id> maven-net-cn</id>
<name> Maven China Mirror</name>
<url> http://repo1.maven.org/maven2/</url>
<mirrorOf>*</mirrorOf>
</mirror>