返回 导航

Spark

hangge.com

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)

回到顶部