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

如何在Scala 3中使用Lagom?依赖下载失败报错怎么解决?

问题根因

Lagom 1.6.x 系列官方仅发布了适配 Scala 2.12、Scala 2.13 的构建包,没有原生支持 Scala 3 的版本。你仅对 service-api 模块的 Lagom 依赖配置了 CrossVersion.for3Use2_13 跨版本规则,项目其他模块(比如服务实现模块)依赖的 lagomScaladslServer 等组件未配置对应规则,sbt 会默认拉取适配 Scala 3 的包,因此触发依赖不存在的报错。

解决方案

  1. 统一为所有 Lagom 依赖配置跨版本规则
    所有用到 Lagom 相关依赖的模块,都需要给对应的依赖添加 .cross(CrossVersion.for3Use2_13) 配置,示例完整配置如下:
// service-api 模块配置
lazy val `service-api` = (project in file("service-api"))
  .settings(
    libraryDependencies ++= Seq(
      lagomScaladslApi
    ).map(_.cross(CrossVersion.for3Use2_13))
  )

// service-impl 等其他用到 Lagom 依赖的模块配置
lazy val `service-impl` = (project in file("service-impl"))
  .enablePlugins(LagomScala)
  .settings(
    libraryDependencies ++= Seq(
      lagomScaladslServer,
      // 其他你用到的 Lagom 相关依赖,比如持久化、测试组件等
      lagomScaladslPersistenceCassandra,
      lagomScaladslTestKit
    ).map(_.cross(CrossVersion.for3Use2_13))
  )
  .dependsOn(`service-api`)
  1. 前置依赖检查
  • 确保 sbt 版本 >= 1.5.0,低版本 sbt 对 Scala 3 兼容 Scala 2.13 依赖的支持存在缺陷
  • 若存在其他 Scala 版本相关的依赖冲突,可在 build.sbt 顶部添加全局版本兼容规则:
ThisBuild / libraryDependencySchemes += "org.scala-lang.modules" %% "scala-xml" % VersionScheme.Always
  1. 可选升级方案
    如果对新特性有需求,可以升级到适配 Scala 3 的 Lagom 更高版本,避免跨版本兼容配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 17:57:03