为什么在成功完成scalacheck后,sbt会给“对象scalacheck不是包org的成员”?

时间:2012-11-27 11:15:27

标签: scala sbt scalacheck

我在build.sbt中添加了以下内容:

libraryDependencies <<= scalaVersion { scala_version => Seq(
 <other entries>
  "org.scalacheck" %% "scalacheck" % "1.10.0" % "test",
  <other entries>
  )
}

在sbt中compile项目后,依赖关系将成功解析,如日志中所示:

[info] Resolving org.scalacheck#scalacheck_2.9.1;1.10.0 ...
...
Done updating

但是,在编译一个文件时出现以下错误。

object scalacheck is not a member of package org
import org.scalacheck.Gen
      ^  

这可能是什么原因?

有没有办法查看sbt在compile任务期间使用的类路径?

Sbt version: 0.11.2
OS: Windows 7
Scala version: 2.9.1

请注意,该项目在ScalaIDE中构建良好。 (我使用sbteclipse生成eclipse .classpath文件。生成的.classpath具有正确的scalacheck条目。)

1 个答案:

答案 0 :(得分:15)

导入依赖项的方式使Scalacheck仅适用于命令test

"org.scalacheck" %% "scalacheck" % "1.10.0" % "test"

您应该使用:

"org.scalacheck" %% "scalacheck" % "1.10.0"

但为什么你在其他地方使用Scalacheck而不是在测试?有关在sbt中进行测试的更多说明,请参阅this link