我正在使用Akka testkit库来测试我的一些演员。
以下是我的build.sbt中的内容:
"com.typesafe.akka" %% "akka-testkit" % "2.6.10" % Test,下面是我得到的错误:
java.lang.IllegalStateException: You are using version 2.6.10 of Akka, but it appears you (perhaps indirectly) also depend on older versions of related artifacts. You can solve this by adding an explicit dependency on version 2.6.10 of the [akka-actor-typed, akka-slf4j, akka-protobuf-v3, akka-stream, akka-serialization-jackson] artifacts to your project. See also: https://doc.akka.io/docs/akka/current/common/binary-compatibility-rules.html#mixed-versioning-is-not-allowed我很困惑,因为我对Akka没有任何其他依赖关系,因为下面是我的build.sbt中定义的所有依赖关系:
libraryDependencies ++= Seq(
ws,
// Our streaming library
"io.monix" %% "monix" % "3.3.0",
// Dependencies needed for Slick
"com.typesafe.slick" %% "slick" % "3.3.3",
"com.typesafe.slick" %% "slick-hikaricp" % "3.3.3",
// For application Metrics
"io.dropwizard.metrics" % "metrics-core" % "4.1.16",
"io.dropwizard.metrics" % "metrics-jvm" % "4.1.16",
"com.typesafe.scala-logging" %% "scala-logging" % "3.9.2",
"org.scala-lang.modules" % "scala-async_2.11" % "0.9.7",
"com.typesafe" % "config" % "1.4.1",
// For JSON parsing
"com.typesafe.play" %% "play-json" % "2.9.1",
"com.typesafe.play" %% "play-json-joda" % "2.9.1",
// JDBC driver for MySQL & H2
"mysql" % "mysql-connector-java" % "8.0.22",
"com.h2database" % "h2" % "1.4.186",
// Test dependencies
"com.typesafe.akka" %% "akka-testkit" % "2.6.10" % Test,
"org.scalatest" %% "scalatest" % "3.2.3" % Test,
"org.awaitility" % "awaitility" % "4.0.3" % Test,
"org.scalatestplus.play" %% "scalatestplus-play" % "5.1.0" % Test exclude ("org.slf4j", "slf4j-simple"),
"com.github.andyglow" %% "websocket-scala-client" % "0.3.0" % Test exclude ("org.slf4j", "slf4j-simple")
)有什么办法解决这个问题吗?
发布于 2020-12-06 07:29:49
所以我不得不为Akka添加一些依赖项,如下所示:
"com.typesafe.akka" %% "akka-testkit" % AkkaVersion % Test,
"com.typesafe.akka" %% "akka-slf4j" % AkkaVersion % Test,
"com.typesafe.akka" %% "akka-protobuf-v3" % AkkaVersion % Test,
"com.typesafe.akka" %% "akka-serialization-jackson" % AkkaVersion % Test,
"com.typesafe.akka" %% "akka-stream" % AkkaVersion % Test,
"com.typesafe.akka" %% "akka-actor-typed" % AkkaVersion % Test,在我的例子中,AkkaVersion是2.6.10
不得不提到这些依赖关系看起来很丑陋,但这是我能够摆脱错误的方法。
https://stackoverflow.com/questions/65160905
复制相似问题