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

Scala使用Snowpark 1.4.0连接Snowflake运行报错排查

Snowpark Scala 初始化抛出 ExceptionInInitializerError 问题修复

根因

从异常栈的触发链路可以直接定位核心问题:

  1. 框架首先触发了MISC_SCALA_VERSION_NOT_SUPPORTED(Scala版本不受支持)的校验错误
  2. Snowpark 1.4.0 存在低版本bug:在会话未创建的初始化阶段抛出异常时,异常构造逻辑强依赖活跃会话实例,触发空指针,最终把真实的版本不兼容问题包装成了ExceptionInInitializerError,表层的NPE是异常处理逻辑bug导致的干扰信息。

你当前配置存在两个直接触发问题的点:

  • 项目使用的Scala版本不在Snowpark 1.4.0的支持范围内:该版本仅兼容Scala 2.12.x 系列,不支持Scala 2.11、2.13、Scala 3全系列版本
  • sbt依赖引入方式错误:使用%引入依赖不会自动拼接Scala编译版本后缀,会拉取到和当前项目Scala版本不匹配的依赖包

修复方案

按顺序调整配置即可:

  • 在build.sbt中明确指定项目Scala版本为2.12系列稳定版:
scalaVersion := "2.12.15"
  • 修改Snowpark依赖引入规则,将单百分号%替换为双百分号%%,让sbt自动拉取匹配当前Scala版本的依赖包:
"com.snowflake" %% "snowpark" % "1.4.0"
  • 刷新sbt依赖、重新编译项目后即可正常运行。

其他说明

你编写的连接测试代码本身没有逻辑错误,填入的连接参数只要真实有效,版本配置正确后就能正常执行show tables的查询逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 12:51:19