![](/img/trans.png)
[英]Exception in thread "main" java.lang.NoClassDefFoundError: scala/Cloneable
[英]Code is giving “Exception in thread ”main“ java.lang.NoClassDefFoundError”
我添加了以下依賴項。 當我將spark-streaming_2.12更改為spark-streaming_2.11時,出現此錯誤
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/streaming/StreamingContext
這些是我的依賴項:
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-streaming_2.12</artifactId>
<version>2.4.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>2.4.0</version>
</dependency>
我的代碼:
def main(args: Array[String]): Unit = {
val conf = new SparkConf().setAppName("LogProcessor")
// No need to create sparkContext as StreamingContext itself create one
val streamer = new StreamingContext(conf,Seconds(20))
val lines = streamer.textFileStream("/home/ubuntu/Desktop/test/")
println(lines)
}
我認為您可能在沒有可用的流火花依賴項的環境中運行此程序(因此,它無法在其上找到類)。
在這種情況下,您可能需要將依賴項包含在jar本身中。 您可以嘗試從火花流依賴項定義中刪除<scope>provided</scope>
。
編輯:為了提供有關我認為這是為什么發生的原因的更多信息,可能您的環境在類路徑中具有spark-streaming_2.12依賴項,但沒有spark-streaming_2.11。 這就是為什么我認為您應該將其包括在超級罐子中(刪除提供的部件)。 另外,您也可以在您的環境中包括依賴項,以便您的進程能夠找到它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.