MJJ工作室
  • 首页
  • 论坛
  • 短链接在线生成
  • 打赏作者
  • 首页
  • 论坛
  • 短链接在线生成
  • 打赏作者
评分
分享
QQ空间微博QQ好友海报分享复制链接
  • 首页
  • 社区
  • 论坛
  • V2EX
  • 正文

maven 传递依赖的冲突应该怎么做才是最好

cherbim等级-LV6-MJJ工作室3年前发布
910

最近在管理 gradle / maven 写的源码,想问下平时是不需要做这个传递依赖的冲突检查吗,等抛出异常的时候才做还是每次安装依赖的时候都要做一次?最怕的问题在于不知道为什么编译期的版本冲突没有检查出来。而我们已经依赖了好多个 library,例如库 A 依赖 库 C 和库 D 的 1.0 ,但是库 B 是依赖库 C 和 D 的 2.0 。我在网上看了 maven 和 gradle 会自动帮我以某种最短路径策略去选择依赖库。但是这种选择我也不懂是不是能够保证选择出来的版本就是没问题的,总不能每次都重新测试整个 app 吧。而这种传递依赖的层级可能有 3/4 层。而我恰好前两天就遇到一个 java.lang.IncompatibleClassChangeError 。查了一下好像是关于依赖不兼容的问题, 编译期间没有检查出来,还是使用哪个 method 的时候才出现的 runtime exception 。问题是我在最上层 dependency management 例如写了是 2.0 ,那我也不能保证依赖 1.0 的一定没问题的。但写成 2.0 的,那风险也同样大。所以想向大家求教应该怎么做依赖的管理的最好方法。谢谢大家

评分
欢迎为Ta评分
分享
QQ空间微博QQ好友海报分享复制链接
收藏
请登录后发表评论

登录注册

    没有回复内容

  • MJJ工作室

    MJJ工作室

    一个分享互联网羊毛和福利的地方
  • 友链申请 一键打赏 广告合作 关于我们

    Copyright © 2020 ·  MJJ工作室 · cherbim
    扫一扫加微信-MJJ工作室
  • 扫码加入QQ群-MJJ工作室

    扫码加入QQ群

    扫码添加TG频道-MJJ工作室

    扫码添加TG频道
扫码添加微信-MJJ工作室
在手机上浏览此页面