• maven的setting配置文件中mirror和repository的区别


    repository就是个仓库

    maven里有两种仓库,本地仓库和远程仓库。远程仓库相当于公共的仓库,大家都能看到。

    本地仓库是你本地的一个山寨版,只有你看的到,主要起缓存作用。

    当你向仓库请求插件或依赖的时候,会先检查本地仓库里是否有。如果有则直接返回,否则会向远程仓库请求,并做缓存。

    远程仓库可以在工程的pom.xml文件里指定。

    如果没指定,默认会到http://repo1.maven.org/maven2这个地方去请求插件和依赖包。

    <repository>
        <snapshots>
        <enabled>false</enabled>
        </snapshots>
        <id>central</id>
        <name>Maven Repository Switchboard</name>
        <url>http://repo1.maven.org/maven2</url>
     </repository>

    本地仓库默认在你本地的用户目录下的.m2/repository目录下。

    mirror就是镜像,主要提供一个方便地切换远程仓库地址的途径。

    比如,上班的时候在公司,用电信的网络,连的是电信的仓库。

    回到家后,是网通的网络,我想连网通的仓库,就可以通过mirror配置,统一把我工程里的仓库地址都改成联通的,而不用到具体工程配置文件里一个一个地改地址。

    mirror的配置在.m2/settings.xml里。如:

    <localRepository>C:UsersAdministrator.m2
    epository</localRepository>

    <servers>    
        <server>    
            <id>releases</id>    
            <username>admin</username>    
            <password>admin123</password>    
        </server>    
        <server>    
            <id>snapshots</id>    
            <username>admin</username>    
            <password>admin123</password>    
        </server>    
    </servers>    

    <mirrors>     
        <mirror>     
            <id>releases</id>     
            <mirrorOf>*</mirrorOf>     
            <url>http://192.168.8.169:8081/nexus/content/groups/public/</url>     
        </mirror>    
        <mirror>     
            <id>snapshots</id>     
            <mirrorOf>*</mirrorOf>     
            <url>http://192.168.8.169:8081/nexus/content/groups/public/</url>     
        </mirror>   
        <mirror>
            <id>nexus-aliyun</id>
            <name>Nexus aliyun</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            <mirrorOf>central</mirrorOf>
        </mirror>
    </mirrors> 

    这样的话,就会给上面id为central的远程仓库做了个镜像。

    以后向central这个仓库发的请求都会发到http://uk.maven.org/maven2而不是http://repo1.maven.org/maven2了。

    <mirrorOf>central</mirrorOf>里是要替代的仓库的id。

    如果填*,就会替代所有仓库。

  • 相关阅读:
    Java 理论与实践: 正确使用 Volatile 变量
    Zookeeper 原理
    Java中GC的工作原理
    Redis 5种数据结构使用及注意事项
    Redis 支持的5种数据结构
    浅谈JavaScript词法分析步骤
    四句话总结JavaScript作用域
    Web模板引擎本质前奏
    python【第十三篇】可以写一个堡垒机了
    python【第十二篇下】操作MySQL数据库以及ORM之 sqlalchemy
  • 原文地址:https://www.cnblogs.com/yifanSJ/p/9302508.html
Copyright © 2020-2023  润新知