如何更改Scala版本的构建定义?

ior*_*vic 3 scala sbt

我正在开发一个简单的SBT项目,其中包括用于对Scala Parallel集合进行基准测试的InputTasks.

我已经定义了InputKeys并在遇到问题时开始编写任务.

由于我的基准测试需要Scala 2.10.0-M5,我尝试在我的基础上执行此操作build.sbt:

name := "scala-parallel-collection-benchmark"

version := "1.0.0"

organization := "com.google.summer"

scalaVersion := "2.10.0-M5"
Run Code Online (Sandbox Code Playgroud)

但是,在编译时我收到以下错误:

[info] Loading project definition from C:\Users\Administrator\scala-parallel-collection-benchmark\project
[info] Compiling 1 Scala source to C:\Users\Administrator\scala-parallel-collection-benchmark\project\target\scala-2.9.1\sbt-0.11.3\classes...
[error] C:\Users\Administrator\scala-parallel-collection-benchmark\project\Build.scala:47: value tasksupport is not a member of scala.collection.parallel.mutable.ParArray[Int]
[error]                 collection.tasksupport = new ForkJoinTaskSupport(new ForkJoinPool(par))
[error]                            ^
[error] one error found
[error] {file:/C:/Users/Administrator/scala-parallel-collection-benchmark/project/}default-e0b2a2/compile:compile: Compilation failed
Run Code Online (Sandbox Code Playgroud)

它似乎仍然使用Scala 2.9.1来编译它.

如何设置SBT以便使用Scala 2.10.0-M5编译我的代码?

the*_*mel 6

scalaVersion仅影响用于编译"实际"源代码(通常位于src/...)的Scala版本.您的错误来自构建定义(下project/)的一部分,它始终使用sbt构建的Scala版本进行编译.

  • 您如何定义使用哪个Scala版本sbt?我有类似的问题. (3认同)