为什么Scala Guice 4.1.0被选中,即使没有人依赖它

时间:2017-09-24 20:36:30

标签: scala sbt

我添加了插件

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。但我无法找出谁。

0 个答案:

没有答案