类路径中缺少 'type scala.collection.generic.GenericTraversableTemplate'

'type scala.collection.generic.GenericTraversableTemplate' is missing from the classpath

我试图在 Scala 2.13.0 中使用两个 ParRanges(平行范围)来执行任意操作,但我似乎缺少一些依赖性并且我不确定它是什么。

我正在 IntelliJ IDEA Ultimate 2019.1.3 中开发游戏,使用 Libgdx 框架 v1.9.9,Gradle 用于依赖管理,在 Scala 2.13.0

我的全局库中有 Scala 2.13.0 SDK,并且我已将这些依赖项(以及其他依赖项)导入到 build.gradle 中的项目中:

<... rest of build.gradle file above>

project(":desktop") {
    apply plugin: "java"
    apply plugin: "scala"

    dependencies {
        compile "org.scala-lang:scala-library:2.13.0"
        <other dependencies>
    }
}

project(":core") {
    apply plugin: "java"
    apply plugin: "scala"

    dependencies {
        compile "org.scala-lang:scala-library:2.13.0"
        compile "org.scala-lang.modules:scala-parallel-collections_2.13.0-M2:1.0.2"
        <other dependencies>
    }
}

<... rest of build.gradle file below>

有问题的示例代码是:

    ParRange(0, Width, 1, true).foreach(x => {
      ParRange(0, Height, 1, true).foreach(y => {
        pixmap.setColor(Math.random().toFloat, Math.random().toFloat, Math.random().toFloat, 1)
        pixmap.drawPixel(x, y)
      })
    })

当我尝试 运行 该程序时,我遇到了几个相同的 运行 时间错误:

Error:(29, 27) Symbol 'type scala.collection.generic.GenericTraversableTemplate' is missing from the classpath.
This symbol is required by 'trait scala.collection.generic.GenericParTemplate'.
Make sure that type GenericTraversableTemplate is in your classpath and check for conflicting dependencies with `-Ylog-classpath`.
A full rebuild may help if 'GenericParTemplate.class' was compiled against an incompatible version of scala.collection.generic.
    ParRange(0, Width, 1, true).foreach(x => {

还缺少:

'type scala.collection.GenIterableLike'
'type scala.collection.Parallel'
'type scala.collection.GenSeqLike'
'type scala.Immutable'

为了使用并行集合,我花了很长时间弄清楚我应该在 build.gradle 中导入什么依赖项。

根据 2.12.1 的 ScalaDocs,这些都应该存在:参见 https://www.scala-lang.org/api/2.12.1/scala/collection/generic/GenericTraversableTemplate.html

但是,2.13.0 的 ScalaDocs 显示这些都丢失了:请参阅 https://www.scala-lang.org/api/2.13.0/scala/collection/generic/index.html

为什么 Scala 2.13.0 的并行集合依赖于 类 和 Scala 2.12.1 中存在的特征而不是 Scala 2.13.0 中存在的特征?

Why would the parallel collections for Scala 2.13.0 rely upon classes and traits present in Scala 2.12.1 but not in Scala 2.13.0?

因为它不是 2.13 的版本,所以它是 2.13.0-M2(仍然有)的版本。 https://mvnrepository.com/artifact/org.scala-lang.modules/scala-parallel-collections 显示此版本的日期是 2017 年,而 0.2.0 是为 2.13 发布的实际最新版本,尽管有版本号。