Maven之仓库和镜像

定义

  仓库:就是存放构件的地方。

  仓库分为两大类:

  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>
posted @ 2016-08-18 23:12  易枫  阅读(1911)  评论(0编辑  收藏  举报