Scala+Play旧项目sbt编译失败:依赖无法解析求助
解决Play项目依赖找不到的问题
问题根源
你要找的com.typesafe.play:play-ahc-ws_2.11:2.8.20这个依赖根本不存在。Play 2.8.x版本已不再支持Scala 2.11,只兼容Scala 2.12和2.13,所以Maven仓库里没有这个版本组合的包。
两种解决方案
方案1:升级Scala版本到兼容Play 2.8.x的版本
Play 2.8.x要求Scala版本至少为2.12.10或2.13.1,修改你的build.sbt:
- 设置Scala版本:
scalaVersion := "2.12.18"(选一个稳定的2.12版本即可) - 确保所有Play相关依赖的Scala后缀和版本匹配,比如
play-ahc-ws_2.12:2.8.20
方案2:降级Play版本到支持Scala 2.11的版本
Play 2.7.x是最后一批支持Scala 2.11的版本,修改build.sbt:
- 将Play版本改为
2.7.9(2.7系列的最终稳定版) - 对应依赖改为
play-ahc-ws_2.11:2.7.9,同时保证所有Play相关依赖版本统一
额外步骤:清理本地缓存
如果修改后还是拉取不到依赖,执行以下命令清理缓存后重新拉取:
sbt clean update
或者手动删除本地缓存目录:~/.ivy2/cache和~/.sbt下的相关缓存文件,再重新运行sbt update。
内容的提问来源于stack exchange,提问作者BorisHrenPopadesh
相关产品推荐
相关产品推荐

