Maven的远程库提供大量构件,供Maven项目直接下载使用。对于一个Maven项目,如果没有特别声明,默认使用Maven的central库,url如下:

http://repo.maven.apache.org/maven2/




但是这些远程库往往需要连接互联网访问,由于访问互联网的限制或安全控制的需要,在企业内部往往需要建立对远程库的镜像,即远程库的mirror。


Maven引用镜像,而不是直接引用远程库,这需要在Maven的settings.xml文件中进行设置,示例如下:





<mirrors>  
        <mirror>  
            <id>jcat-arm</id>  
            <mirrorOf>*,!sonar</mirrorOf>  
            <url>https://arm.rnd.ki.sw.ericsson.se/artifactory/proj-jcat-release/</url>  
        </mirror>  
    </mirrors>




从上述示例可知,定义一个镜像库,至少需要提供如下三个参数:


  • 首先是镜像库的id,用以唯一标识该镜像库,默认default
  • 其次是镜像库的url,即该镜像库我访问位置
  • 最后,也是最重要的,是要镜像的远程库。例如,如果要镜像Maven的central库,则设置<mirrorOf>central</mirrorOf>

对于mirrorOf参数,如果该镜像库的目标远程库不止一个,则可以使用

*表示任意远程库; external:*表示任何不在localhost和文件系统中的远程库; r1,r2表示r1库或者r2库; *,!r1表示除了r1库之外的任何远程库。


此外,定义镜像库还可以提供name, layout(默认default), mirrorOfLayouts(默认default,legacy)。


注意:一个远程库只能有一个镜像。



Maven的远程库提供大量构件,供Maven项目直接下载使用。对于一个Maven项目,如果没有特别声明,默认使用Maven的central库,url如下:

http://repo.maven.apache.org/maven2/




但是这些远程库往往需要连接互联网访问,由于访问互联网的限制或安全控制的需要,在企业内部往往需要建立对远程库的镜像,即远程库的mirror。


Maven引用镜像,而不是直接引用远程库,这需要在Maven的settings.xml文件中进行设置,示例如下:





<mirrors>  
        <mirror>  
            <id>jcat-arm</id>  
            <mirrorOf>*,!sonar</mirrorOf>  
            <url>https://arm.rnd.ki.sw.ericsson.se/artifactory/proj-jcat-release/</url>  
        </mirror>  
    </mirrors>




从上述示例可知,定义一个镜像库,至少需要提供如下三个参数:


  • 首先是镜像库的id,用以唯一标识该镜像库,默认default
  • 其次是镜像库的url,即该镜像库我访问位置
  • 最后,也是最重要的,是要镜像的远程库。例如,如果要镜像Maven的central库,则设置<mirrorOf>central</mirrorOf>

对于mirrorOf参数,如果该镜像库的目标远程库不止一个,则可以使用

*表示任意远程库; external:*表示任何不在localhost和文件系统中的远程库; r1,r2表示r1库或者r2库; *,!r1表示除了r1库之外的任何远程库。


此外,定义镜像库还可以提供name, layout(默认default), mirrorOfLayouts(默认default,legacy)。


注意:一个远程库只能有一个镜像。