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
![](http://hangge.com/blog_uploads/202407/2024070514200894783.png)
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 标签注释掉即可:
![](http://hangge.com/blog_uploads/202407/2024070514245513604.png)
全部评论(0)