2014-06-25 11 views
22

यहाँ एक साधारण परीक्षण मैं जावा से एक स्काला विधि आह्वान करने के लिए उपयोग कर रहा हूँ है:मुझे 'java.lang.NoClassDefFoundError: scala/Function1` क्यों मिलता है जब मैं स्कालाइड में अपना कोड चलाता हूं?

public static void main(String args[]) { 
    java.util.Map<String, java.util.List<String>> rec = news.recommend.DriverObj.runTest();  
    System.out.println(rec.toString()); 
} 

यहाँ स्काला विधि की परिभाषा है:

def runTest: java.util.Map[String, java.util.List[String]] = { 
    new java.util.HashMap[String, java.util.List[String]] 
} 

लेकिन यह एक त्रुटि फेंकता है:

Exception in thread "main" java.lang.NoClassDefFoundError: scala/Function1 
    at news.recommend.DriverObj.runTest(DriverObj.scala) 

इसे आसानी से चलाने के लिए मुझे क्या करना चाहिए?

अद्यतन: मैं इसे ग्रहण के माध्यम से चल रहा हूँ और अपने बिल्ड पथ है:

enter image description here

तो स्काला पुस्तकालय पाया जाना चाहिए?

+0

क्या अपनी कक्षा के रास्ते पर है जब आप इसे चलाते? –

+3

ऐसा लगता है कि आप कक्षा के स्काला पुस्तकालय के लिए जार शामिल नहीं हैं। 'स्कैला' में यह स्वचालित रूप से शामिल है, 'जावा' नहीं है। – wingedsubmariner

+0

@ डेव न्यूटन कृपया प्रश्न अपडेट देखें –

उत्तर

13

Maven निर्माण करने के लिए स्काला निर्भरता जोड़ने मुद्दे को ठीक कर सकते हैं:

<dependency> 
    <groupId>org.scala-lang</groupId> 
    <artifactId>scala-library</artifactId> 
    <version>2.10.3</version> 
</dependency> 
संबंधित मुद्दे

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