
本文共 1887 字,大约阅读时间需要 6 分钟。
什么是Maven仓库
Maven仓库就是放置所有JAR文件(WAR,ZIP,POM等等)的地方,所有Maven项目可以从同一个Maven仓库中获取自己所需要的依赖JAR,这节省了磁盘资源。此外,由于Maven仓库中所有的JAR都有其自己的坐标,该坐标告诉Maven它的组ID,构件ID,版本,打包方式等等,因此Maven项目可以方便的进行依赖版本管理。你也不在需要提交JAR文件到SCM仓库中,你可以建立一个组织层次的Maven仓库,供所有成员使用。
简言之,Maven仓库能帮助我们管理构件(主要是JAR)摘自网上。
本地仓库与远程仓库
Maven 仓库分为本地仓库和远程仓库,寻找构件时,首先从本地仓库找,找不到则到远程仓库找,再找不到就报错;在远程仓库中找到了,就下载到本地仓库再使用。中央仓库是 Maven 核心自带的远程仓库,默认地址:http://repo1.maven.org/maven2。除了中央仓库,还有其它很多公共的远程仓库。私服是架设在本机或局域网中的一种特殊的远程仓库,通过私服可以方便的管理其它所有的外部远程仓库。
本地仓库
Maven 本地仓库默认地址为:${user.home}/.m2/repository。
更改本地仓库的位置
找到maven的安装路径下conf下的的settings.xml配置文件
复制一份到你想要做仓库的路径,如我复制到:G:\MavenRepository,修改其中仓库的参数设置为当前的路径,两个都要修改:
这样就成功的修改好了。
中央仓库
安装完 Maven ,本地仓库几乎是空的,这时需要从远程仓库下载所需构件。Maven 配置了一个默认的远程仓库,即中央仓库,找到 %MAVEN_HOME%/lib/maven-model-builder-3.2.1.jar,打开 org/apache/maven/model/pom-4.0.0.xml 超级POM:
在项目中添加其他远程仓库
当中央仓库找不到所需的构件时,我们可以配置 pom.xml ,添加其它的远程仓库。
<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://repo1.maven.org/maven2 ,在中国有它的镜像仓库,这样我们直接访问镜像仓库,更快更稳定。
<mirrors> <mirror> <id>maven.net.cn</id> <name>central mirror in china</name> <url>http://maven.net.cn/content/groups/public</url> <mirrorOf>central</mirrorOf> <!--表明为central中央仓库配置镜像仓库--> </mirror> </mirrors>
其中,<mirrorOf> 指明了为哪个仓库配置镜像,可以使用通配符如:<mirrorOf>*</mirrorOf>,或者 <mirrorOf>repo1,repo2</mirrorOf> 等进行匹配。一旦配置了镜像,所有针对原仓库的访问将转到镜像仓库的访问,原仓库将不再能直接访问,即使镜像仓库不稳定或停用。在搭建私服的时候,我们通常为所有仓库设置镜像为私服地址,通过私服对所有仓库进行统一管理。
常用的仓库搜索地址
发表评论
最新留言
关于作者
