为什么sbt会给出Akka和ScalaTest依赖项的多个依赖项警告?

时间:2016-01-02 20:32:08

标签: scala sbt akka scalatest

我刚刚将ScalaTest添加到build.sbt,所以它现在看起来如下:

name := "appname"

version := "1.0"

scalaVersion := "2.11.7"

libraryDependencies ++= Seq(
  "com.typesafe.akka" %% "akka-actor" % "2.4.1",
  "org.scalatest" % "scalatest_2.11" % "2.2.4" % "test"
)

之后我收到了警告信息:

SBT project import
         [warn] Multiple dependencies with the same organization/name but different versions. To avoid conflict, pick one version:
         [warn]  * org.scala-lang:scala-reflect:(2.11.2, 2.11.7)
         [warn]  * org.scala-lang.modules:scala-xml_2.11:(1.0.2, 1.0.4)

我也尝试将有关ScalaTest的行更改为:

"org.scalatest" %% "scalatest" % "2.2.4" % "test"

但警告仍然与上述相同。

我怎么能处理这个问题,因为我的项目中没有任何地方写过“反映”或“xml”。我使用的是Akka和ScalaTest以及Scala 2.11版本的最新版本。

2 个答案:

答案 0 :(得分:11)

解决方案可能是由SBT明确添加一个建议版本。 libraryDependencies为:{/ p>时,所有警告都会消失

libraryDependencies ++= Seq(
  "com.typesafe.akka" %% "akka-actor" % "2.4.1",
  "org.scalatest" %% "scalatest" % "2.2.4" % "test",
  "org.scala-lang" % "scala-reflect" % "2.11.7",
  "org.scala-lang.modules" %% "scala-xml" % "1.0.4"
)

答案 1 :(得分:6)

在您的特定情况下,这与问题1933有关,您现在可以忽略它。您还可以显式指定所需依赖项的版本,以消除警告。