冲突的跨版本后缀 like-actor, like-slf4j

Conflicting cross-version suffixes akka-actor, akka-slf4j

我正在尝试将 Kafka 添加到 Play 应用程序(使用 Typesafe Activator 版本 1.3.2)。

下面列出了我的 build.sbt 文件。我从 Kafka's FAQ

复制了如何获取 Play 应用程序的 Kafka 依赖项

build.sbt

name := """Test"""

version := "1.0-SNAPSHOT"

lazy val root = (project in file(".")).enablePlugins(PlayJava)

scalaVersion := "2.11.6"

libraryDependencies ++= Seq(
  javaJdbc,
  javaEbean,
  cache,
  javaWs
)

resolvers += "Apache repo" at "https://repository.apache.org/content/repositories/releases"

libraryDependencies ++= Seq(
  jdbc,
  anorm,
  cache,
  "joda-time" % "joda-time" % "2.2",
    "org.joda" % "joda-convert" % "1.3.1",
   "ch.qos.logback" % "logback-classic" % "1.0.13",
   "org.mashupbots.socko" % "socko-webserver_2.9.2" % "0.2.2",
   "nl.grons" % "metrics-scala_2.9.2" % "3.0.0",
   "com.codahale.metrics" % "metrics-core" % "3.0.0",
   "io.backchat.jerkson" % "jerkson_2.9.2" % "0.7.0",
   "com.amazonaws" % "aws-java-sdk" % "1.3.8",
   "net.databinder.dispatch" %% "dispatch-core" % "0.11.2",
   "org.apache.kafka" % "kafka_2.9.2" % "0.8.2.1" excludeAll (
     ExclusionRule(organization = "com.sun.jdmk"),
     ExclusionRule(organization = "com.sun.jmx"),
     ExclusionRule(organization = "javax.jms"),
     ExclusionRule(organization = "org.slf4j")
  )
)

编译时出现以下错误:

[error]    com.typesafe.akka:akka-actor _2.11, <none>
[error]    com.typesafe.akka:akka-slf4j _2.11, <none>
[trace] Stack trace suppressed: run last *:update for the full output.
[error] (*:update) Conflicting cross-version suffixes in: com.typesafe.akka:akka-actor, com.typesafe.akka:akka-slf4j

看起来那个 wiki 已经过时了,特别是没有使用 sbt 的 %% 符号表示基于 scala 的依赖关系。

因为你有一个 Scala 2.11.1 项目,我切换到使用 %% 而不是显式 Scala 版本,并且还更新了所有依赖项(一些旧版本没有 Scala 2.11 的版本) .

尝试使用这些依赖项:

libraryDependencies ++= Seq(
  jdbc,
  anorm,
  cache,
  "joda-time"                % "joda-time"       % "2.7",
  "org.joda"                 % "joda-convert"    % "1.7",
  "ch.qos.logback"           % "logback-classic" % "1.1.3",
  "org.mashupbots.socko"    %% "socko-webserver" % "0.6.0",
  "nl.grons"                %% "metrics-scala"   % "3.4.0_a2.3",
  "io.dropwizard.metrics"    % "metrics-core"    % "3.1.1",
  "com.gilt"                %% "jerkson"         % "0.6.7",
  "com.amazonaws"            % "aws-java-sdk"    % "1.9.30",
  "net.databinder.dispatch" %% "dispatch-core"   % "0.11.2",
  "org.apache.kafka"        %% "kafka"           % "0.8.2.1" excludeAll (
     ExclusionRule(organization = "com.sun.jdmk"),
     ExclusionRule(organization = "com.sun.jmx"),
     ExclusionRule(organization = "javax.jms"),
     ExclusionRule(organization = "org.slf4j")
  )
)