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

Scala 2.12迁移至2.13遭遇scala-parser-combinators跨版本冲突

解决Scala 2.13迁移中scala-parser-combinators跨版本冲突问题

问题原因

这个错误是因为项目中同时引入了Scala 2.12和2.13版本的scala-parser-combinators依赖,SBT的依赖冲突检测机制会阻止这种跨版本依赖共存,避免潜在的兼容性问题。

解决方案

1. 确认项目Scala版本配置正确

先确保build.sbt中指定了正确的Scala 2.13版本:

scalaVersion := "2.13.12" // 可替换为其他2.13.x稳定版本

2. 排查依赖树定位冲突源

执行SBT命令查看完整依赖树,找出哪个模块间接引入了2.12版本的依赖:

sbt dependencyTree | grep scala-parser-combinators

输出会显示所有引用该依赖的模块(包括直接和间接依赖),能帮你定位到强制拉取2.12版本的来源。

3. 强制统一依赖版本

在build.sbt中添加dependencyOverrides,强制SBT使用Scala 2.13版本的scala-parser-combinators:

// 方式1:自动匹配当前项目的Scala版本
dependencyOverrides += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.1.2"

// 方式2:显式指定2.13版本
dependencyOverrides += "org.scala-lang.modules" % "scala-parser-combinators_2.13" % "1.1.2"

这个配置会覆盖所有模块对该依赖的版本声明,确保全局使用同一版本。

4. 清理缓存并重新加载依赖

执行以下命令清除旧缓存,重新拉取正确版本的依赖:

sbt clean reload update

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 13:36:11