You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spark 2.1.1+JDK1.8环境下出现SparkSession类找不到异常如何解决?

解决Spark 2.1.1中java.lang.NoClassDefFoundError: org/apache/spark/sql/SparkSession$问题

先理清楚你的环境和错误情况:

环境信息

  • Spark版本:2.1.1
  • JDK路径:/Library/Java/JavaVirtualMachines/jdk1.8.0_241.jdk/Contents/Home/bin/java

错误堆栈

线程"main"中出现异常:java.lang.NoClassDefFoundError: org/apache/spark/sql/SparkSession$
at org.example.sparktest$.main(sparktest.scala:7)
at org.example.sparktest.main(sparktest.scala)
引起原因:java.lang.ClassNotFoundException: org.apache.spark.sql.SparkSession$
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 2 more

问题根源

这个错误的核心很明确:你的程序在运行时找不到SparkSession的类文件。SparkSession是Spark 2.0之后SQL模块的核心入口类,出现这种情况通常是下面几个原因之一:

  • 项目缺失Spark SQL的依赖包
  • 依赖的Spark版本和你实际使用的2.1.1不匹配
  • 运行时类路径没有包含Spark SQL相关的Jar包
  • Scala版本和Spark 2.1.1不兼容(Spark 2.1.1只支持Scala 2.11.x)

具体解决步骤

1. 确认项目依赖配置正确

如果你用Maven管理项目,打开pom.xml,确保添加了正确的Spark SQL依赖,版本必须和你的Spark版本一致:

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-sql_2.11</artifactId> <!-- 这里的2.11是Scala版本,必须和Spark对应 -->
    <version>2.1.1</version>
    <!-- 如果你是在集群上运行,可以把scope设为provided,因为集群已经有Spark依赖;本地运行的话可以去掉这个配置 -->
    <!-- <scope>provided</scope> -->
</dependency>

如果是SBT项目,在build.sbt里添加:

libraryDependencies += "org.apache.spark" %% "spark-sql" % "2.1.1"

2. 用spark-submit运行你的应用

别直接用java或scala命令跑Spark程序!Spark的依赖Jar包非常多,手动加类路径很容易漏。正确的做法是用Spark自带的spark-submit脚本提交:

spark-submit --class org.example.sparktest --master local[*] your-application.jar

这个命令会自动把Spark所有必要的依赖Jar包加入类路径,避免类找不到的问题。

3. 检查Scala版本兼容性

Spark 2.1.1对应的Scala版本是2.11.x,如果你的项目用了Scala 2.12或其他版本,会出现依赖不兼容的情况,导致类加载失败。去IDE或项目配置里确认Scala版本是2.11.x。


内容的提问来源于stack exchange,提问作者NKS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 12:23:13