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

SBT构建Spark 3.2.0项目报错scala.package.Serializable缺失如何解决

解决方案
  • 修正Scala版本匹配问题。Spark 3.2.0官方仅兼容Scala 2.12.x版本,你当前配置的Scala 2.13.6不在支持范围内,版本不兼容导致Scala核心类找不到。把build.sbt里的scalaVersion := "2.13.6"修改为scalaVersion := "2.12.15"(使用2.12系列任意稳定版均可)。
  • 统一所有Spark依赖的版本引用。你当前的spark-core、spark-streaming、spark-sql都硬编码写了3.2.0,和之前定义的sparkVersion变量不一致,统一替换为变量引用,避免版本不一致问题,示例修改:
libraryDependencies += "org.apache.spark" %% "spark-core" % sparkVersion
libraryDependencies += "org.apache.spark" %% "spark-streaming" % sparkVersion
libraryDependencies += "org.apache.spark" %% "spark-sql" % sparkVersion
  • 修正Kafka依赖配置。你当前用的6.1.0-ccs是Confluent平台版本,不需要引入完整的kafka服务端依赖,直接引入适配Spark 3.2.0的kafka客户端依赖即可,避免多余依赖冲突:libraryDependencies += "org.apache.kafka" % "kafka-clients" % "2.8.0"。
  • 排除内部依赖的冲突Scala库。如果内部依赖com.walmart.grcaml % "us-aml-commons" % "latest.release"引入了其他版本的Scala核心库,给该依赖添加排除规则:
libraryDependencies += "com.walmart.grcaml" % "us-aml-commons" % "latest.release" exclude ("org.scala-lang", "scala-library")
  • 清理缓存重新构建。执行命令sbt clean compile,强制清理之前的构建缓存和冲突的依赖缓存,重新拉取适配版本的依赖。
    如果执行完以上步骤仍然报错,可以在sbt启动时添加参数-Ylog-classpath打印类路径,检查是否有多个版本的scala-library同时存在。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 10:09:02