Похоже, вы столкнулись с проблемой неразрешенной зависимости javax.ws.rs-api
, которая возникает с некоторыми проектами Java, которые являются прямыми или транзитивными зависимостями проектов Scala, использующих sbt.Я сталкивался с этим в проектах Scala, которые используют Apache Spark, а недавно - в Kafka Streams (с и без Scala API).
Обходной путь, который мне подходит, - просто исключить зависимость и снова определить ее.в явном виде.
excludeDependencies += ExclusionRule("javax.ws.rs", "javax.ws.rs-api")
libraryDependencies += "javax.ws.rs" % "javax.ws.rs-api" % "2.1.1"
Убедитесь, что вы используете самую последнюю и наибольшую из sbt (т.е. 1.2.7 на момент написания этой статьи).
С учетом вышесказанного зависимости в build.sbt
должны быть следующими:
scalaVersion := "2.12.8"
val kafkaVer = "2.1.0"
libraryDependencies += "org.apache.kafka" % "kafka-streams" % kafkaVer
libraryDependencies += "org.apache.kafka" %% "kafka-streams-scala" % kafkaVer
excludeDependencies += ExclusionRule("javax.ws.rs", "javax.ws.rs-api")
libraryDependencies += "javax.ws.rs" % "javax.ws.rs-api" % "2.1.1"
В IntelliJ я могу открыть kafka-streams-2.0.0.jar
, но я неувидеть любые классы Scala.Есть ли другой JAR-файл, который мне нужно включить?
Следующая зависимость - это все, что вам нужно:
libraryDependencies += "org.apache.kafka" %% "kafka-streams-scala" % kafkaVer