2013-05-29 10 views
12

हाय दोस्तों मैं ग्रहण के निर्यात समारोह के माध्यम से स्कैला में लिखे गए एक साधारण निष्पादन योग्य जार को पैकेज करने का प्रयास कर रहा हूं।

जब cmd java -jar test2.jar

मैं निम्नलिखित मिल से जार निष्पादित करने के लिए प्रयास कर रहा .... कोई भी विचार? धन्यवाद।

Caused by: java.lang.NoClassDefFoundError: scala/Predef$ 
     at Parser.Test(Parser.scala:5) 
     at Main.main(Main.java:12) 
     ... 5 more 
Caused by: java.lang.ClassNotFoundException: scala.Predef$ 
     at java.net.URLClassLoader$1.run(Unknown Source) 
     at java.net.URLClassLoader$1.run(Unknown Source) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     ... 7 more 

उत्तर

7

आपको क्लासपाथ में स्कैला लाइब्रेरी जार जोड़ने की आवश्यकता है।

आप इसे इस तरह से कर सकते हैं (यह मानते हुए कि "स्केला-library.jar" जार मौजूदा निर्देशिका में है):

java -cp scala-library.jar -jar test2.jar 

था java comamnd के लिए प्रलेखन यहां पाया जा सकता: http://docs.oracle.com/javase/6/docs/technotes/tools/windows/java.html

+0

प्रतिक्रिया के लिए धन्यवाद । क्या आप मुझे बताएंगे कि यह कैसे करें? मैं स्कैला, जावा और ग्रहण के लिए एक पूर्ण नौसिखिया हूँ। – Andy

+0

मैंने एक अद्यतन किया, इसे जांचें। –

+1

ग्रहण के माध्यम से स्काला लाइब्रेरी को स्क्वायर में जोड़ना: अपनी प्रोजेक्ट पर राइट-क्लिक करें -> पथ बनाएं -> बिल्डपैथ कॉन्फ़िगर करें -> लाइब्रेरीज़ -> लाइब्रेरी जोड़ें -> स्कैला लाइब्रेरी का चयन करें –

0

आप अपनी परियोजना के साथ स्कैला लाइब्रेरी को एक साथ पैकेज भी कर सकते हैं। this पोस्ट

0

देखें मैंने किया हटाया "स्काला लाइब्रेरी कंटेनर" परियोजना से। अगला - जरूरत स्केला के पुस्तकालय को जोड़ने (स्केला-library.jar) को जावा BuildPath के रूप में ( के लिए गुण में) नहीं मेरी पुस्तकालय में "बाहरी जार जोड़ें ..." (स्कैला लिब के संदर्भ में)। और उन सब के लिए "आदेश और निर्यात" innclude अंत में - "जार उत्पन्न में पैकेज आवश्यक पुस्तकालयों" निर्यात कर विकल्प के साथ परियोजना के लिए और इस ठीक काम करता है :)

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