I added the plugin
addSbtPlugin("net.virtual-void" % "sbt-dependency-graph" % "0.8.2")
and ran the sbt dependencyTree command
I see this output
[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]
So .... everyone depends on 4.0.1 then why is 4.1.0 being chosen?
I searched the entire output to see if there is a string like (depends on 4.1.0) but there is no one.
Down below I see many libraries being evicted by the 4.1.0 version like
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)
By reading this output ... I cannot understand what caused the verion 4.1.0 to be selected.
When I run my code. I get an error
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;
The above error seems to suggest that I have the wrong version of scalaguice somewhere. but I am not able to find out who.