我正在尝试使用scala 2.11.2构建lunatech-securesocial-poc项目,并且我更新了projects / Build.scala中的scalaVersion。这个项目依赖于securesocial,我用2.11.2本地构建了它,并将其工件版本命名为master-SNAPSHOT。我已经更新了lunatech-securesocial-poc项目中的依赖项,以使用这个版本的securesocial。但是,SBT(激活器)无法编译,因为它正在寻找ws.securesocial#securesocial_2.10; master-SNAPSHOT。如何找出导致scala版本被重写为2.10的原因。我想要2.11.2。显然有些依赖是强制它,但我想找出那个依赖是什么,并修复它。
我尝试添加:
dependencyOverrides + =“org.scala-lang”%“scala-library”%scalaVersion.value
evictionWarningOptions:= EvictionWarningOptions.default.withWarnTransitiveEvictions(true).withWarnDirectEvictions(true).withWarnScalaVersionEviction(true) ivyScala:= ivyScala.value map {_.copy(overrideScalaVersion = true)}
到我的Build.scala,我使用的是SBT版本0.13.7。我不明白为什么SBT只是中止并告诉我XXX依赖性阻止它使用2.11.2并要求2.10。
任何?
答案 0 :(得分:3)
您可以使用sbt-dependency-graph
插件来查找。
答案 1 :(得分:1)
问题原来是在我的Build.scala中。虽然我定义了scalaVersion并将其用于设置依赖项,但我没有将设置传递给覆盖默认scalaVersion的项目,这显然是用于构建激活器(2.10.4)的设置。所以尽管我认为我已经设置了scalaVersion,但事实并非如此。