我正在开发一个简单的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编译我的代码?
scalaVersion仅影响用于编译"实际"源代码(通常位于src/...)的Scala版本.您的错误来自构建定义(下project/)的一部分,它始终使用sbt构建的Scala版本进行编译.