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

Scala项目scala-xml依赖版本冲突问题求助

解决scoverage升级引发的scala-xml依赖冲突问题

问题背景

scoverage自动升级到2.0.6版本后,编译阶段出现scala-xml版本冲突:scoverage依赖scala-xml_2.12:2.1.0,但项目中其他依赖(如scala-compiler、scalariform、sbt-native-packager等)依赖更低版本的scala-xml(1.0.6~1.3.0),导致编译失败。

解决方法

方法1:强制统一scala-xml版本

scala-xml 1.x系列保持二进制向后兼容,可强制所有依赖使用一个兼容的版本(比如1.3.0,是现有依赖中最高的低版本),在build.sbt中添加:

dependencyOverrides += "org.scala-lang.modules" %% "scala-xml" % "1.3.0"

执行sbt clean update compile验证是否解决冲突。

方法2:降级scoverage到scala 2.12兼容版本

scoverage 2.x系列主要适配Scala 2.13+,Scala 2.12应使用1.4.x系列的scoverage。修改project/plugins.sbt中的scoverage版本:

addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.4.11")

若不想让scala-steward继续升级该插件,在.scala-steward.conf中添加忽略规则:

updates.ignore = [
  { groupId = "org.scoverage", artifactId = "sbt-scoverage" }
]

方法选择建议

  • 若想保留scoverage 2.x功能,优先选方法1,利用scala-xml的兼容性快速修复。
  • 若追求长期稳定性,优先选方法2,使用与Scala 2.12官方匹配的scoverage版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 15:45:50