我添加了插件
addSbtPlugin("net.virtual-void" % "sbt-dependency-graph" % "0.8.2")
并运行sbt dependencyTree
命令
我看到了这个输出
[warn] * net.codingwell:scala-guice_2.11:4.1.0 is selected over 4.0.1
[warn] +- com.foo.bar:bar-baz:0.8.869 (depends on 4.0.1)
[warn] +- default:finatraflare_2.11:1.0 (depends on 4.0.1)
[warn] +- com.twitter:inject-core_2.11:2.13.0 () (depends on 4.0.1)
[warn]
所以....每个人都依赖于4.0.1那么为什么选择4.1.0?
我搜索了整个输出,看是否有像(depends on 4.1.0)
这样的字符串,但没有人。
在下面我看到很多图书馆被4.1.0版本驱逐,如
com.google.code.findbugs:jsr305:3.0.1 is selected over {1.3.9, 2.0.1}
[warn] +- com.twitter:util-cache_2.11:7.1.0 () (depends on 2.0.1)
[warn] +- com.twitter:finagle-core_2.11:7.1.0 () (depends on 2.0.1)
[warn] +- net.codingwell:scala-guice_2.11:4.1.0 (depends on 2.0.1)
[warn] +- com.twitter:util-stats_2.11:7.1.0 () (depends on 2.0.1)
[warn] +- com.google.guava:guava:23.0 (depends on 1.3.9)
通过阅读此输出...我无法理解导致选择版本4.1.0的原因。
当我运行我的代码时。我收到错误
1) Error injecting constructor, java.lang.NoSuchMethodError:
net.codingwell.scalaguice.InternalModule$class.bind(Lnet/codingwell/s
calaguice/InternalModule;Lscala/reflect/Manifest;)Lnet/codingwell/
scalaguice/Sc alaModule$ScalaAnnotatedBindingBuilder;
上述错误似乎表明我在某处有错误版本的scalaguice。但我无法找出谁。