maven的setting文件-02

仓库与镜像

1.仓库分类

maven 的仓库分为本地仓库和远程仓库。

2.本地仓库

本地仓库就是储存在你自己电脑上的仓库

3.远程仓库

远程仓库也叫做中央仓库,默认的远程仓库是maven官方的仓库,maven官方仓库地址为:

https://repo.maven.apache.org/maven2/.    它的下载速度比较慢.

远程仓库虽然maven提供了一个拥有jar包比较全的,   但是由于它的下载速度比较慢,而且它那里的jar包也不是100%都全.所以市面上就有人建立了如aliyun等各种各样的远程仓库.

4.镜像仓库

maven官方仓库的地址在国外,访问比较慢,因此阿里巴巴就把maven官方仓库的jar包全部下载下来,放到自己国内的aliyun仓库,全部复制粘贴,一模一样,就跟镜像一样,所以也叫镜像仓库.

5.为什么要配置多个仓库

我们都知道,maven 的仓库分为本地仓库和远程仓库。默认的远程仓库叫做中央仓库,地址为:https://repo.maven.apache.org/maven2/,它的下载速度比较慢,不做任何配置时,下载一个 dubbo 的 jar 包,就是从中央仓库下载的.

这个时候我们就可以为项目配置多个仓库地址,下载时会由上到下依次尝试,哪个仓库成功了,就停止尝试,因此可以把速度快的仓库配置在靠上位置

注意:其实配多个仓库的更主要原因是,某些 jar 包只在 A 仓库有,在 B 仓库没有,这时就得配置多个仓库了

6.在pom文件里用标签配置仓库.(很少用)


         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    
    ...

   
       
            aliyun
            http://maven.aliyun.com/nexus/content/groups/public
       

       
            central
            https://repo.maven.apache.org/maven2/
       

   

    
    ...
    

上面这种把仓库地址写在pom文件的做法很少用.

7.的区别

  • 首先它是配置在 settings.xml 中, 一般配置在 pom.xml 中,位置不同

  • 其次 的目的很单纯:就是为了加速,用镜像地址覆盖掉原始仓库的地址

用法示例:接下来配置镜像的 为 central,在 settings.xml 中


          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

  ...
    
      
     
        aliyun
        central
        aliyun
        http://maven.aliyun.com/nexus/content/groups/public
   
 
 

  ...
    

就会覆盖掉 pom.xml 中真正的 为 central 的仓库,取而代之,即使配置了 id 为 central 的仓库,实际也会走 mirror 的下载


         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    
    ...

   
       
            central
            https://repo.maven.apache.org/maven2/
       

   

    
    ...
    

注意:

  • 最好重启 idea 让 mirror 生效

  • 如果镜像的 * 号,则所有仓库的下载都会走 mirror

你可能感兴趣的:(java)