You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Maven中实现类似SBT evicted的依赖驱逐图展示功能?

Maven中类似SBT sbt evicted的功能选项

当然有啦!Maven虽然没有和Scala SBT的sbt evicted完全一模一样的内置命令,但有几种方式可以帮你查看被“驱逐”(也就是因版本冲突被覆盖)的传递依赖,效果类似。下面给你详细说明:

  • 使用内置的dependency:tree命令(最常用)
    你可以通过添加-Dverbose参数来让Maven显示所有依赖,包括那些因为版本冲突被排除的条目。执行命令:

    mvn dependency:tree -Dverbose
    

    输出里会明确标注被排除的依赖,比如你会看到类似这样的内容:

    [INFO] | +- com.example:some-lib:jar:1.0.0:compile (omitted for conflict with 2.0.0)
    这样就能一目了然地看到哪个版本的依赖因为冲突被替换掉了。

  • 使用dependency:list命令聚焦冲突详情
    如果你想要更简洁的冲突列表,不想看完整的依赖树,可以用dependency:list加上-DshowConflicts=true参数:

    mvn dependency:list -DshowConflicts=true
    

    这个命令会专门列出存在版本冲突的依赖项,同时显示最终生效的版本和被排除的版本,信息更聚焦,适合快速排查冲突。

  • 第三方插件增强:versions-maven-plugin
    如果你需要更强大、更直观的依赖冲突分析能力,可以使用versions-maven-plugin的display-conflicts目标。无需提前配置插件,直接用命令行调用即可:

    mvn org.codehaus.mojo:versions-maven-plugin:2.16.2:display-conflicts
    

    它会输出一个清晰的表格,列出所有存在冲突的依赖,包括各个依赖路径下对应的版本,以及Maven最终选择的版本(遵循“最近依赖优先”“声明顺序优先”等规则),展示效果和sbt evicted非常接近。

内容的提问来源于stack exchange,提问作者user51

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:08:10