7

に以下を追加しましたbuild.sbt

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

sbtcompileのプロジェクトでは、ログに示されているように、依存関係が正常に解決されています。

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

ただし、1 つのファイルのコンパイル中に次のエラーが発生します。

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

この理由は何ですか?

compileタスク中に sbt が使用しているクラスパスを確認する方法はありますか?

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

プロジェクトは ScalaIDE で正常にビルドされることに注意してください。(sbteclipse を使用して eclipse.classpathファイルを生成します。生成されたファイル.classpathには適切な scalacheck エントリがあります。)

4

1 に答える 1

16

依存関係をインポートする方法により、Scalacheck はコマンドでのみ使用可能になりますtest

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

以下を使用する必要があります。

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

しかし、なぜ Scalacheck をテスト以外の場所で使用するのでしょうか? sbt でのテストの詳細については、このリンクを参照してください。

于 2012-11-27T12:59:34.250 に答える