美文网首页java相关的技术文章收录
【maven】仓库的优先级顺序

【maven】仓库的优先级顺序

作者: BenjaminY | 来源:发表于2020-03-06 16:17 被阅读0次

在maven中,仓库可以分为:本地仓库、远程仓库。
远程仓库可以分为:中央仓库、私服仓库。
中央仓库是maven官方指定的仓库,可以理解为“寻找的最后一站”。
私服仓库可以是自己建的,也可以是其它主体建的(比如aliyun的maven仓库,jboss的maven仓库等)。
私服可以分为:全局应用的私服仓库、应用到项目自身的私服仓库。

maven寻找得顺序大致可以理解为:
1,在本地仓库中寻找,如果没有则进入下一步。
2,在全局应用的私服仓库中寻找,如果没有则进入下一步。
3,在项目自身的私服仓库中寻找,如果没有则进入下一步。
4,在中央仓库中寻找,如果没有则终止寻找。

补充:
1,如果在找寻的过程中,如果发现该仓库有镜像设置,则用镜像的地址代替。
2,如果仓库的id设置成“central”,则该配置会覆盖maven默认的中央仓库配置。

以上,通过实践得来的,可能不全面,仅当参考。

科普一下几种仓库的设置:

pom中的repository:

<repositories>
    <repository>
        <id>dsdf</id>
        <releases>
            <enabled>true</enabled>
        </releases>
        <url>http://222.197.XXXXXX/nexus/content/groups/public/</url>
    </repository>
</repositories>

profile中的仓库是在maven的设置文件(maven安装目录/conf/settings.xml)

<profile>
    <id>nexus</id>
    <repositories>
        <repository>
            <id>sonatype-forge</id>
            <url>http://repository.sonatype.org/content/groups/forge/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>sonatype-forge</id>
            <url>http://repository.sonatype.org/content/groups/forge/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>
</profile>

使用下面代码来激活profile

<activeProfiles>
    <activeProfile>nexus</activeProfile>
</activeProfiles>

maven profile也是有优先级别

  1. 在settings.xml中的profile优先级高于pom中的
  2. 同在settings.xml的properties,如果都激活了,根据profile定义的先后顺序来进行覆盖取值,后面定义的会覆盖前面,其properties为同名properties中最终有效。并不是根据activeProfile定义的顺序 。
  3. 如果有user setting和globel settings,则两者合并,其中重复的配置,以user settings为准。

相关文章

  • 【maven】仓库的优先级顺序

    在maven中,仓库可以分为:本地仓库、远程仓库。远程仓库可以分为:中央仓库、私服仓库。中央仓库是maven官方指...

  • Java工程搭建方案 - Maven

    本篇讲讲Maven在实际项目中的应用,包含 Maven继承和聚合 微服务项目划分 Maven仓库配置和顺序 Mav...

  • maven配置

    1.maven仓库的加载顺序 本地仓库 > setting.xml中的配置的仓库(在profile标签中设置的re...

  • Maven 项目中依赖的搜索顺序

    当maven中,包含多个中央仓库的时候,其依赖顺序需要知晓,下面就以真实案例来说明其顺序,以下是4种依赖的中央仓库...

  • 私有maven仓库发布顺序

    本文阐述如何将本地编译好的arr上传到Artifactory 1、修改版本号 对于联调阶段的的maven库,版本改...

  • maven仓库理解

    前言 使用maven也有一段时间,经常发现有些jar包拉取不到,所以整理出比较详细的maven仓库优先级,更加深层...

  • Maven 仓库管理

    本节主要介绍如何配置 Maven 仓库,发布 jar 包到 Maven 仓库 Maven 仓库是什么? Maven...

  • Maven实战之Maven仓库

    Maven实战之Maven仓库 Maven仓库作用 仓库,顾名思义就是存放物品的地方。在Maven中,我们可以将其...

  • maven仓库配置及搜索顺序

    今天在构建 IBPMS(Java Business Process Management,业务流程管理)demo ...

  • 第5章 总结

    5.1 maven 仓库 1、maven 仓库的类型有哪些? 2、maven 工程查找仓库的流程是什么? 3、本地...

网友评论

    本文标题:【maven】仓库的优先级顺序

    本文链接:https://www.haomeiwen.com/subject/tkfwrhtx.html