我在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条目。)
答案 0 :(得分:15)
导入依赖项的方式使Scalacheck仅适用于命令test
:
"org.scalacheck" %% "scalacheck" % "1.10.0" % "test"
您应该使用:
"org.scalacheck" %% "scalacheck" % "1.10.0"
但为什么你在其他地方使用Scalacheck而不是在测试?有关在sbt中进行测试的更多说明,请参阅this link。