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

Scalatra项目无法导入scalatra-json与json4s-jackson求助

解决Scalatra-Json依赖下载失败的问题

看起来你遇到的核心问题是依赖版本不兼容,导致对应的包在Maven仓库中不存在,具体分析和解决方案如下:

问题根源

从错误信息里能定位两个关键问题:

  1. Scalatra 2.2.0不支持Scala 2.12:你尝试下载scalatra-json_2.12:2.2.0,但Scalatra 2.2.0是2013年的老版本,而Scala 2.12直到2016年才发布,这个版本的Scalatra根本没有针对Scala 2.12编译的包,自然找不到。
  2. Json4s版本冲突/不存在:错误中显示尝试下载json4s-jackson_2.12:3.7.0,但你在build.sbt里指定的是3.5.2,这应该是旧版Scalatra的依赖传递导致的版本冲突,而3.7.0也没有对应Scala 2.12的可用包。

解决方案

1. 升级Scalatra版本到支持Scala 2.12的版本

Scalatra从2.5.x版本开始支持Scala 2.12,建议你把Scalatra版本至少升级到2.5.0或更高的稳定版(比如2.8.0)。

2. 对齐Json4s版本,避免冲突

确保Json4s的版本与你选择的Scalatra版本兼容,Scalatra 2.5.x系列推荐使用Json4s 3.5.x版本,和你原本指定的3.5.2完全匹配。

修改后的build.sbt示例:

val ScalatraVersion = "2.5.0" // 也可以用更新的稳定版,比如2.8.0

libraryDependencies ++= Seq(
  "org.scalatra" %% "scalatra-json" % ScalatraVersion,
  "org.json4s" %% "json4s-jackson" % "3.5.2"
)

3. 验证依赖下载

修改完成后,先手动触发依赖下载确认无错误,再启动Jetty:

sbt update
sbt jetty:start

额外提示

如果因为项目限制必须使用旧版Scalatra,那你需要降级Scala版本到2.11或更早(Scalatra 2.2.0支持Scala 2.10/2.9),但这不是推荐方案——旧版本的Scala和Scalatra都已停止维护,存在安全风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 19:17:50