scala 中的 Kafka Streams 问题 - NoClassDefFoundError [英] Kafka Streams issue in scala - NoClassDefFoundError
问题描述
所使用的build.sbt文件如下:
scalaVersion := "2.12.1"val kafka_streams_version = "2.0.0"libraryDependencies ++= Seq("org.apache.kafka" % "kafka-streams" % kafka_streams_version % 提供,"org.apache.kafka" % "kafka-clients" % kafka_streams_version % 提供)
Scala 中的 2 行以下给出了以下异常
val builder : StreamsBuilder = new StreamsBuilderval text: KStream[String, String] = builder.stream[String, String]("streams-input")'''
<块引用>
线程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(Native方法)在java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)在java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)在 java.base/java.lang.reflect.Method.invoke(Method.java:566) 在com.intellij.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.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)在 java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)... 7个
如果您通过 IntelliJ 运行,您可以编辑运行配置并启用配置Include dependencies with "Provided" scope
.当然,你必须保证那些依赖是在运行时提供的
build.sbt file used is as below :
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
)
below 2 lines in Scala are giving the below exception
val builder : StreamsBuilder = new StreamsBuilder
val text: KStream[String, String] = builder.stream[String, String]("streams-input")'''
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/kafka/streams/StreamsBuilder at TradesApp$.main(TradesApp.scala:21) at TradesApp.main(TradesApp.scala) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at com.intellij.rt.execution.application.AppMainV2.main(AppMainV2.java:131) Caused by: java.lang.ClassNotFoundException: org.apache.kafka.streams.StreamsBuilder at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ... 7 more
If you are running through IntelliJ you can edit the Run configurations and enable the configuration Include dependencies with "Provided" scope
. Of course, you must assure that those dependencies are provided in runtime
这篇关于scala 中的 Kafka Streams 问题 - NoClassDefFoundError的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!