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

Gradle 8.13搭配Scala 2.12.15与Zinc兼容问题求助

解决方案

1. 选对和Scala 2.12兼容的Zinc版本

Zinc从1.10.x版本开始就基于Scala 2.13构建了,完全不支持Scala 2.12。你得降级到1.9.x系列的Zinc版本,而且要用专门针对Scala 2.12编译的artifactId(zinc_2.12),别再用旧的com.typesafe.zinc:zinc了。

2. 修正Gradle依赖配置

把原来的Zinc依赖换成下面的配置:

dependencies {
    zinc "org.scala-sbt:zinc_2.12:1.9.6"
    // 强制统一Scala库版本为2.12.15
    zinc platform("org.scala-lang:scala-platform:2.12.15")
    zinc "org.scala-lang:scala-library:2.12.15"
    zinc "org.scala-lang:scala-compiler:2.12.15"
}

要是想更严格控制版本,也能手动排除Zinc自带的Scala依赖,再强制指定自己的版本:

dependencies {
    zinc ("org.scala-sbt:zinc_2.12:1.9.6") {
        exclude group: "org.scala-lang", module: "scala-library"
        exclude group: "org.scala-lang", module: "scala-compiler"
    }
    zinc "org.scala-lang:scala-library:2.12.15", { force = true }
    zinc "org.scala-lang:scala-compiler:2.12.15", { force = true }
}

3. 检查依赖是否一致

跑一下Gradle的依赖分析命令,确保没有Scala 2.13的依赖混进来:

./gradlew dependencies --configuration zinc

看输出里所有Scala相关的依赖版本是不是都是2.12.15,别出现2.13的版本。

为啥原来的配置会报错?

  • 第一个错误:zinc_2.13:1.10.4是用Scala 2.13编译的,Scala跨大版本(2.12→2.13)二进制不兼容,自然和你的2.12.15搭不上。
  • 第二个错误:你排除了Zinc自带的Scala库,但Zinc 1.10.8的代码是基于Scala 2.13写的,调用了Scala 2.13特有的scala.collection.mutable.ArraySeq方法,而Scala 2.12里的这个类根本没这些方法,所以就报NoSuchMethodError了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 14:52:10