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

IntelliJ中使用Databricks Connect运行Spark作业报JAVA_9字段不存在错误

问题根因

java.lang.NoSuchFieldError: JAVA_9 错误的核心原因是运行时加载的Spark类版本与当前JDK环境、依赖类路径不匹配,可按照以下思路排查解决:

排查步骤

  • 核对本地JDK版本与集群JDK版本一致性
    不同版本的Databricks Runtime默认JDK版本存在差异:Runtime 7.x及以下默认使用JDK 8,Runtime 11.x及以上默认使用JDK 11。你需要确保IntelliJ项目的SDK版本、项目编译的字节码版本与集群JDK版本完全一致,禁止使用高于集群JDK版本的本地运行环境。
  • 排查Spark依赖冲突
    不要在项目的pom.xml/gradle.build等构建配置中引入开源版本的spark-core、spark-sql等Spark相关依赖,已引入的需将其scope设置为provided,完全使用Databricks Connect提供的定制化Spark Jar包,避免开源Spark和Databricks定制版Spark类加载冲突。
  • 调整IDE依赖加载优先级
    在IntelliJ的「项目结构-模块-依赖」设置中,将Databricks Connect对应的Jar库移动到依赖列表的最顶部,确保运行时优先加载Databricks提供的类;同时在运行配置中勾选「包含provided范围的依赖」选项,避免依赖遗漏。
  • 校验Databricks Connect与集群版本匹配性
    本地安装的Databricks Connect版本必须和目标Databricks集群的Runtime大版本完全一致,可通过执行databricks-connect --version查看本地版本,和集群配置页的Runtime版本核对,版本不匹配的需要卸载重装对应版本的Databricks Connect。
  • 清理缓存重试
    执行databricks-connect configure重新配置集群连接参数,然后在IntelliJ中执行「文件-失效缓存并重启」,清理IDE构建缓存后重新运行作业。

内容的提问来源于stack exchange,提问作者Rajesh Kumar Dash

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 19:06:03