Maven配置远程仓库

Posted ihaveadream丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven配置远程仓库相关的知识,希望对你有一定的参考价值。

当构建一个Maven项目时,首先检查pom.xml文件以确定依赖包的下载位置,执行顺序如下:

1、从本地资源库中查找并获得依赖包,如果没有,执行第2步。

2、从Maven默认中央仓库中查找并获得依赖包(http://repo1.maven.org/maven2/),如果没有,执行第3步。

3、如果在pom.xml中定义了自定义的远程仓库,那么也会在这里的仓库中进行查找并获得依赖包,如果都没有找到,那么Maven就会抛出异常。

配置远程仓库:

远程仓库一般是国内镜像以及用nexus私有仓库居多。在pom.xml配置远程仓库时,顺序也是关键点,是从上往下开始查找的。

在pom.xml的repositories节点上添加远程仓库地址,下面整理了一份比较常用的国内远程仓库地址。

  <!-- 设定远程主仓库,按设定顺序进行查找。 -->
    <repositories>
    
        <!-- 如有Nexus私服, 取消注释并指向正确的服务器地址.
        <repository>
            <id>nexus-repos</id>
            <name>Team Nexus Repository</name>
            <url>http://192.168.11.36:8888/nexus/content/groups/public</url>
        </repository> -->
        
        <repository>
            <id>oschina-repos</id>
            <name>Oschina Releases</name>
            <url>http://maven.oschina.net/content/groups/public</url>
        </repository>
        
        <repository>
            <id>aliyun-repos</id>
            <name>aliyun Releases</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        </repository>

        <repository>
            <id>java-repos</id>
            <name>Java Repository</name>
            <url>https://maven.java.net/content/repositories/public/</url>
        </repository>
        
        <repository>
            <id>JBoss-repos</id>
            <name>JBoss Repository</name>
            <url>http://repository.jboss.org/nexus/content/groups/public/</url>
        </repository>

        <repository>
            <id>springsource-repos</id>
            <name>SpringSource Repository</name>
            <url>http://repo.spring.io/release/</url>
        </repository>
        
        <repository>
            <id>central-repos</id>
            <name>Central Repository</name>
            <url>http://repo.maven.apache.org/maven2</url>
        </repository>
        
        <repository>
            <id>central-repos2</id>
            <name>Central Repository 2</name>
            <url>http://repo1.maven.org/maven2/</url>
        </repository>
        
        <repository>
            <id>activiti-repos</id>
            <name>Activiti Repository</name>
            <url>https://maven.alfresco.com/nexus/content/groups/public</url>
        </repository>
        
        <repository>
            <id>activiti-repos2</id>
            <name>Activiti Repository 2</name>
            <url>https://app.camunda.com/nexus/content/groups/public</url>
        </repository>
        
        <repository> 
            <id>easonjim-repos</id> 
            <name>EasonJim Repository</name>
            <url>https://raw.github.com/easonjim/repository/master</url>
        </repository>
        
    </repositories>

其中,比较值得推荐的就是github的raw资源也可以作为远程仓库地址,比如我可以上次一些自定义的包,转为自己的raw资源固定一个地址,配置如上https://raw.github.com/easonjim/repository/master的地址之后maven即可查找下载。如果有需要可以自行查找这方面的资料,关键字:github raw

关于maven中配置远程仓库的问题

在maven的远程仓库配置中我们可以在setting.xml中配置一个全局的远程仓库,但是我看了一些资料,,,既可以通过配置<repositories>,来配置远程的仓库,也可以通过配置<mirror>来配置远程的仓库,,,二者应该选择哪个呢???为什么要设置这么多配置远程仓库的方法呢,,,maven这样设计的意图是什么,,,好处是什么?求解答

我们通常配置<repositories>
<mirror>添加镜像库,防止<repositories>主库网络超时,还可以从mirror处下载
参考技术A 容错追问

您能再回答的详细一点吗?我不太明白

以上是关于Maven配置远程仓库的主要内容,如果未能解决你的问题,请参考以下文章

环境配置——IDEA搭建maven+spring mvc开发环境

maven详解 之仓库

一起深入探讨Maven远程仓库的配置和部署

关于maven中配置远程仓库的问题

Maven仓库分类

Eclipse中设置Maven远程仓库指向阿里云仓库