Windows下OpenJDK11运行SBT 1.5.4报ClassNotFoundException错误
问题解决步骤
错误根因
你安装的是SBT 1.5.4,但执行命令时启动器实际加载的是SBT 1.4.1版本,该版本存在依赖加载冲突,会触发scala.Serializable类找不到的报错。
分步解决
- 第一步:修正项目级SBT版本配置
进入你执行sbt命令的工作目录,找到project/build.properties文件,查看sbt.version配置项,若值为1.4.1,直接修改为1.5.4后保存。项目级配置优先级高于全局安装版本,是该问题最常见的诱因。 - 第二步:清理全量缓存
你之前仅删除了%USERPROFILE%\.sbt目录,还需要删除以下缓存目录:%USERPROFILE%\.ivy2:旧版本SBT及Scala依赖的默认缓存目录%USERPROFILE%\.cache\sbt:SBT运行时临时缓存目录(如果存在)
- 第三步:排查冗余环境变量
打开Windows系统环境变量面板,检查是否存在SBT_HOME、SBT_OPTS这类指向旧版本SBT路径的配置项,如有直接删除后重启命令行窗口生效。 - 第四步:版本验证
重启命令行后执行sbt sbtVersion,确认输出版本为1.5.4即可正常运行。
内容的提问来源于stack exchange,提问作者ha9u63a7
相关产品推荐
相关产品推荐

