如何定位SBT中junit:4.12依赖的具体来源?
追踪SBT中JUnit 4.12依赖来源的方法
以下是几个实用的方法,帮你定位这个未显式声明的JUnit依赖:
查看全配置依赖树:默认的
dependencyTree命令通常只展示compile配置的依赖,而JUnit一般属于测试依赖。执行sbt "test:dependencyTree",或者加上 verbose 参数sbt "dependencyTree -v",能看到test配置下的完整依赖链,大概率能找到引入JUnit的模块。直接用
whatDependsOn精准定位:执行sbt "whatDependsOn junit junit 4.12",这个命令会直接列出所有依赖junit:junit:4.12的模块,不管是直接依赖还是间接传递的,能快速找到源头。排查Play框架核心依赖:既然你怀疑是Play引入的,可以单独查看Play测试模块的依赖,执行
sbt "play-test:dependencyTree",Play的play-test等测试相关模块通常会默认引入JUnit作为测试依赖。检查SBT插件的依赖:部分SBT插件也可能引入JUnit,执行
sbt "plugins:dependencyTree",查看所有插件的依赖链,确认是否有插件带进来这个JUnit版本。查看
update命令的调试日志:执行sbt update -debug,在输出的详细日志里搜索junit#junit;4.12,日志里会明确记录该依赖是被哪个模块的哪个版本引入的完整路径。
内容的提问来源于stack exchange,提问作者Martin Wunderlich
相关产品推荐
相关产品推荐

