zoukankan      html  css  js  c++  java
  • 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。

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

  • 相关阅读:
    vue--todolist的实现
    vue--使用定时器的问题
    vue--动态路由和get传值
    vue--非父子组件之间的传值
    Atitit 图像处理之仿油画效果 Oilpaint油画滤镜 水彩画 漫画滤镜 v2
    Atitit 图像处理 公共模块 矩阵扫描器
    Atitit 文档资料管理同步解决方案
    Atitit 拦截数据库异常的处理最佳实践
    Atitit 数据处理查询 中的异常标准化草案 jpa jdbc hb  oql规范attilax总结
    Atitit oodbms的查询,面向对象的sql查询jpa jpql hql
  • 原文地址:https://www.cnblogs.com/yifanSJ/p/9302508.html
Copyright © 2011-2022 走看看