IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    maven的仲裁

    hongjiang发表于 2015-10-10 08:36:36
    love 0

    模块化的问题是无法避免的一个问题。对创业公司来说,在团队和产品在发展到一定程度之前,靠自我约束。

    这里有一个案例是项目里依赖了b组件,b组件依赖了a组件1.0.2版本,而用户也直接在pom依赖了a组件并声明的1.0.0版本,结果在仲裁时选择了1.0.0版本的a组件:

     +- com.xxx:a:jar:1.0.0:compile
     |   
     +- ...
     |  +- ...
     |  
     +- com.xxx:b:jar:1.0.0:compile
     |  |  
     |  +- (com.xxx:a:jar:1.0.2:compile - omitted for duplicate)
    

    对于依赖某个组件的多个版本,maven的仲裁过程,并不是简单的使用高版本,而是根据从根节点到各个组件节点之间的路径深度,路径短的组件优先,如果路径深度相同,则是先发现的那个。类似一棵树的广度遍历。



沪ICP备19023445号-2号
友情链接