寒玉 Blog
  • Home
  • Books
  • About Me
  • Categories
  • Tags
  • Archives

Maven:mirror和repository区别


Internal Repository

Internal Repository是指在局域网内部构建的repository,它跟central repository的区别仅仅在于url指向的是一个内网网址.

mirror

mirror相当于一个代理,它会拦截去指定的远程仓库下载构建的请求,然后从自己这里找出构件回送给客户端。配置mirror的目的一般是出于网速考虑

关于maven如何查找pom.xml里dependencies里配置的插件,暂且不考虑本地仓库的存在maven会根据最终的repository集合里依次查找,如果查到了就从该仓库下载,并且停止对后续repository的查找。所以可以看出用户在pom.xml里配置repository时,repository的顺序还是挺重要的。

mirror是配置在maven的settings.xml文件中

mirror的定义

<mirrors>  
    <mirror>  
        <id>planetmirror.com</id>  
        <name>PlanetMirror Australia</name>  
        <url>http://downloads.planetmirror.com/pub/maven2</url>  
        <mirrorOf>central</mirrorOf>  
    </mirror>  
</mirrors>  

id, name是该镜像的唯一定义符。id用来区分不同的mirror元素. url是该镜像的URL。构建系统会优先考虑使用该URL,而非使用默认的服务器URL。 mirrorOf是被镜像的服务器的id。例如,如果我们要设置了一个Maven中央仓库http://repo1.maven.org/maven2的镜像,就需要将该元素设置成central。这必须和中央仓库的id central完全一致.

repository的定义

<repositories>  
    <repository>  
        <id>offical</id>  
        <name>Maven Official Repository</name>  
        <url>http://repo1.maven.org/maven2</url>  
        <snapshots>  
            <enabled>false</enabled>  
        </snapshots>  
    </repository>  
    <repository>  
        <id>jboss</id>  
        <name>Jboss Repository</name>  
        <url>http://repository.jboss.org/nexus/content/groups/public-jboss/</url>  
        <snapshots>  
            <enabled>false</enabled>  
        </snapshots>  
    </repository>  
</repositories>  

参考

  • https://blog.csdn.net/u011768325/article/details/49735397

  • « 使用DruidAPI dump Druid数据
  • flink系列文章 »

Published

4 1, 2019

Category

集成工具

Tags

  • 集成工具 1
  • maven 1
  • Powered by Pelican. Theme: Elegant by Talha Mansoor