2012-11-27 21 views
5

मैं build.sbt में निम्नलिखित को शामिल किया है: निम्नलिखितसफलतापूर्वक स्केलैच समाधान के बाद "ऑब्जेक्ट स्केलैशैक पैकेज ऑर्ग का सदस्य नहीं है" एसबीटी क्यों देता है?

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

हालांकि, मैं मिलता है:

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

compile एसबीटी में परियोजना पर, निर्भरता सफलतापूर्वक हल कर रहे हैं के रूप में लॉग में देखा जा सकता है एक फ़ाइल के संकलन के दौरान त्रुटि।

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

इसका कारण क्या हो सकता है?

क्या compile कार्य के दौरान एसबीटी उपयोग कर रहे क्लासपाथ को देखने का कोई तरीका है?

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

ध्यान दें कि परियोजना स्कालाइड में ठीक है। (। मैं sbteclipse का उपयोग ग्रहण .classpath फाइल उत्पन्न करने के लिए उत्पन्न .classpath उचित scalacheck प्रविष्टि है।)

उत्तर

14

जिस तरह से आप आयात निर्भरता Scalacheck केवल आदेश test के लिए उपलब्ध बनाता है:

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

आप उपयोग करना चाहिए:

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

लेकिन परीक्षणों की तुलना में आप कहीं और स्केलैच का उपयोग क्यों करते हैं? एसबीटी में परीक्षण के बारे में अधिक स्पष्टीकरण के लिए this link देखें।

+2

यह भी ध्यान दें: 'src/main/test' में सामग्री संकलित करने के लिए 'test: compile' का उपयोग करें। इस संस्करण को उन निर्भरताओं को मिलेगा जिन्हें '...%" परीक्षण के साथ चिह्नित किया गया था "' – Dylan

+0

धन्यवाद! यह अब काम करता है। कुछ 'जेनरेटर' और 'सिकुंक' विधियों में से कुछ जो मैं लिख रहा हूं वे गैर-तुच्छ हैं। इसलिए, मैं इस कोड को 'src' में कक्षा कार्यान्वयन के साथ रख रहा हूं। – dips

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^