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

Spark程序运行抛出NoSuchMethodError异常,请求协助修复

解决Spark运行时NoSuchMethodError: scala.Predef$.$scope()异常

这个异常的核心根源是依赖版本不匹配,具体有两个关键问题:

  • Spark核心组件(spark-core和spark-sql)的Scala版本后缀不一致(一个是_2.10,另一个是_2.11)
  • 存在重复且版本冲突的Scala XML依赖,导致类加载逻辑混乱

下面是针对性的修复步骤:

1. 统一Spark组件的Scala版本

Spark依赖的artifactId后缀_2.xx对应着适配的Scala版本,必须保证所有Spark组件使用相同的Scala版本后缀。你的Scala library用的是2.11.x,所以把spark-core_2.10改成spark-core_2.11,版本保持2.2.0不变。

2. 清理冲突的Scala XML依赖

你的POM里同时引入了非版本化后缀的scala-xml和scala-xml_2.11,这会引发依赖冲突。保留scala-xml_2.11即可,删除旧的scala-xml依赖。

3. 匹配Scala Library与Spark的兼容版本

Spark 2.2.0官方推荐搭配Scala 2.11.8(而非2.11.0),调整scala-library版本到2.11.8可以避免潜在的兼容性问题。

修正后的完整POM依赖:

<dependencies>
    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-core_2.11</artifactId>
        <version>2.2.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-sql_2.11</artifactId>
        <version>2.2.0</version>
    </dependency>
    <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-library</artifactId>
        <version>2.11.8</version>
    </dependency>
    <dependency>
        <groupId>org.scala-lang.modules</groupId>
        <artifactId>scala-xml_2.11</artifactId>
        <version>1.0.6</version>
    </dependency>
</dependencies>

额外检查项

  • 确认G:\\users\\student.json路径正确,文件存在且是合法的JSON格式(要求每行一个独立JSON对象,而非JSON数组)
  • 在Eclipse中执行Maven > Update Project,清理旧的依赖缓存,确保新依赖被正确加载

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:50:18