Spark - 解决本地运行调试时报“NoClassDefFoundError: org/apache/spark/SparkConf”错误
作者:hangge | 2024-07-23 08:44
1,问题描述
最近需要在本地使用 IDEA 进行 Spark 程序的调试,但一运行程序就报如下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/SparkConf
at Hello$.main(Hello.scala:7)
at Hello.main(Hello.scala)
Caused by: java.lang.ClassNotFoundException: org.apache.spark.SparkConf
at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:359)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 2 more
2,问题原因
这是由于之前打包时为了减小 Jar 包体积,在 pom 文件中加入了 scope 标签,导致本地运行找不到依赖。
<dependencies>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.12</artifactId>
<version>3.4.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
3,解决办法
本地运行调试时把对应的 scope 标签注释掉即可:
全部评论(0)