Проблема с потоками Кафки в scala - NoClassDefFoundError - PullRequest
0 голосов
/ 11 января 2020

Файл build.sbt используется следующим образом:

scalaVersion := "2.12.1"
val kafka_streams_version = "2.0.0"   
libraryDependencies ++= Seq(   
  "org.apache.kafka" % "kafka-streams" % kafka_streams_version % Provided,  
  "org.apache.kafka" % "kafka-clients" % kafka_streams_version % Provided
)

ниже 2 строк в Scala дают следующее исключение

val builder : StreamsBuilder = new StreamsBuilder
val text: KStream[String, String] = builder.stream[String, String]("streams-input")'''

Исключение в thread "main" java .lang.NoClassDefFoundError: org / apache / kafka / streams / StreamsBuilder в TradesApp $ .main (TradesApp. scala: 21) в TradesApp.main (TradesApp. scala) в java .base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в java .base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl. * 101b * * 62b): /jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) в java .base / java .lang.reflect.Method.invoke (Метод. java: 566) в коменте. .rt.execution.application.AppMainV2.main (AppMainV2. java: 131) Причина: java .lang.ClassNotFoundException: org. apache .kafka.streams.StreamsBuilder в java .base / jdk. internal.loader.BuiltinClassLoader.loadClass (BuiltinClassLoader. java: 581) в java .base / jdk.internal.loader.ClassLoa ders $ AppClassLoader.loadClass (ClassLoaders. java: 178) в java .base / java .lang.ClassLoader.loadClass (ClassLoader. java: 521) ... еще 7

Ответы [ 2 ]

1 голос
/ 14 января 2020

Если вы работаете через IntelliJ, вы можете редактировать конфигурации Run и включать конфигурацию Include dependencies with "Provided" scope. Конечно, вы должны убедиться, что эти зависимости предоставляются во время выполнения

1 голос
/ 11 января 2020

Вам необходимо удалить % Provided, или вы должны убедиться, что клиенты и файлы jaf потоков kafka версии 2.0.0 для Scala 2.12 находятся в пути к классам процесса, в котором выполняется ваш код

...