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

运行sbt报java.lang.NoClassDefFoundError: scala/reflect/internal/Trees如何解决

错误触发原因

该错误是sbt启动过程中类加载器无法找到Scala反射核心类scala.reflect.internal.Trees导致的,常见触发场景如下:

  • 本地sbt依赖缓存损坏:下载Scala核心依赖时网络中断、文件被意外修改或删除,导致依赖包不完整
  • 版本不兼容:项目指定的sbt版本和项目中配置的Scala版本存在冲突,sbt自身依赖的Scala版本被强制覆盖
  • 全局sbt配置冲突:用户目录下的全局sbt配置、插件和当前项目的依赖要求不匹配
  • 依赖源问题:使用的依赖镜像源缺失对应版本的Scala依赖包
解决方案

按以下步骤依次排查即可:

  • 清理本地缓存
    执行对应系统的命令删除损坏的全局缓存:
    • Linux/macOS:
    rm -rf ~/.ivy2/cache ~/.sbt/boot ~/.cache/coursier
    
    • Windows:
      手动删除用户目录下的.ivy2\cache、.sbt\boot、AppData\Local\Coursier\cache三个文件夹
  • 校验版本兼容性
    打开项目project/build.properties文件确认sbt版本,确保和项目Scala版本匹配:
    • sbt 1.3.x及以上版本依赖Scala 2.12.x系列,不要在项目构建配置中强制修改sbt依赖的Scala版本
    • 若项目使用Scala 2.13.x,需确保sbt版本在1.4.x以上
  • 清理项目本地编译产物
    在项目根目录执行:
    rm -rf target project/target
    
  • 重新运行sbt命令,首次启动会自动重新下载完整的依赖包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 14:24:03