2015-04-07 6 views
18

मैं IntelliJ 14 का उपयोग कर रहा स्केला 2.11.6 के साथ घर काढ़ा और सिमलिंक का उपयोग करइंटेलिज में त्रुटि उत्पन्न करने वाले एकाधिक स्कैला libraies?

ln -s /usr/local/Cellar/scala/2.11.6/libexec/src /usr/local/Cellar/scala/2.11.6/src 
ln -s /usr/local/Cellar/scala/2.11.6/libexec/lib /usr/local/Cellar/scala/2.11.6/lib 
mkdir -p /usr/local/Cellar/scala/2.11.6/doc/scala-devel-docs 
ln -s /usr/local/Cellar/scala/2.11.6/share/doc/scala /usr/local/Cellar/scala/2.11.6/doc/scala-devel-docs/api 

मैं एक साधारण हैलो दुनिया चल रहा की कोशिश की लेकिन निम्न समस्या में चलाने का उपयोग कर स्थापित किया।

Error:scalac: Multiple 'scala-library*.jar' files (scala-library.jar, scala-library.jar, scala-library.jar) in Scala compiler classpath in Scala SDK scala-sdk-2.11.6 

संपादित करें:

तो मैं वैश्विक पुस्तकालयों पर संकलक वर्ग पथ की जाँच करें और जाहिरा तौर पर कई scal-library.jar

file:///usr/local/Cellar/scala/2.11.6/idea/lib/scala-library.jar 
file:///usr/local/Cellar/scala/2.11.6/lib/scala-library.jar 
file:///usr/local/Cellar/scala/2.11.6/libexec/lib/scala-library.jar 

क्या किसी को पता है कि क्यों देखते हैं?

+0

क्या आपके पास आपके सिस्टम पर स्केल का एक और संस्करण स्थापित है? – curious

+0

मैंने 'ब्रू अनइंस्टॉल स्केल' और 'ब्रू इंस्टॉल विला-डॉक्स' को नहीं बताया है, यह पता नहीं है कि क्या समस्या – Kevin

+0

समस्या को हल कर रही है, अपने सिस्टम से अनइंस्टॉल करने का प्रयास करें, स्कैला कमांड चलाएं यदि यह स्केल कमांड नहीं दिखाता है तो इसका मतलब है कि यह पूरी तरह से है अन-स्थापित, और फिर इसे फिर से स्थापित करें। – curious

उत्तर

0

आपके पास scala-library.jar के कई संस्करणों से JAR फ़ाइलें हैं। त्रुटि को दूर करने के लिए आपको डुप्लीकेट को हटाना होगा। मैनिफ़ेस्ट फ़ाइल के अंदर

META-INF/MANIFEST.MF 

आप कुछ इस तरह देखना चाहिए:: पता लगाने के लिए कौन-सा संस्करण आप रखना चाहते हैं, तो आप प्रत्येक जार के अंदर प्रकट फ़ाइल देख सकते हैं

Manifest-Version: 1.0 
Class-Path: 
Implementation-Title: Scala-Library 
Implementation-Version: 2.11.4 

त्रुटि क्योंकि हो रहा है IntelliJ किसी भी स्काला वर्ग का उपयोग करने के लिए कौन सा संस्करण नहीं समझ सकता है।

46

शायद तुम स्काला SDK के लिए मार्ग के रूप में

/usr/local/Cellar/scala/2.11.6/ 

इस्तेमाल किया है?

जब आप होमब्री के साथ स्कैला स्थापित करते हैं तो उस पथ में न केवल स्केल पुस्तकालय होते हैं, बल्कि इंटेलिज के लिए प्रासंगिक पुस्तकालयों के साथ एक सिम्लिंक भी होता है। तो यदि आप शीर्ष-स्तरीय इंस्टॉल निर्देशिका का उपयोग करते हैं तो इंटेलिज लाइब्रेरी को दो बार मिलेगा।

इसके बजाय आप का उपयोग करना चाहिए

/usr/local/Cellar/scala/2.11.6/idea/lib 
+0

यह वास्तव में मेरी समस्या थी, और इसमें उचित संख्या में अपवॉट्स हैं - शायद यह स्वीकार्य उत्तर होना चाहिए? –

+0

पूरी तरह से @GeoffreyWiseman से सहमत हैं। मेरी समस्या भी हल की। धन्यवाद। –

+0

यह पता लगाना वाकई मुश्किल है; यह समस्या हल करता है। धन्यवाद। – noego

1

मैं भी है कि त्रुटि आ गई। मुझे मिली फिक्स intellij द्वारा उत्पन्न .iml फ़ाइल में डुप्लिकेट स्कैला-लाइब्रेरी को निकालना था।

असल में मैं स्केल संस्करण को grepping करके प्रासंगिक .iml फ़ाइल स्थित है, और पाया कि उस फ़ाइल में दो स्केल-लाइब्रेरी। मैंने स्केल 2.11 संस्करण हटा दिया, और फिर यह काम करता है।

+0

धन्यवाद, यह मेरे लिए काम करता है। – tobe

1

मेरे पास आपके द्वारा प्रयोग किए गए एक ही मुद्दे थे और वास्तव में बहुत आसान, समाधान वास्तव में परियोजना से .idea फ़ोल्डर को मिटा रहा था, समस्या यह है कि इस फ़ोल्डर के अंदर कॉन्फ़िगरेशन (उदाहरण के लिए सेट अप शामिल है परीक्षण, वीसीएस, रन, इत्यादि) डबल प्रविष्टियों (शायद आप अपने स्कैला संस्करण को अपडेट करते हैं) के साथ दूषित हो जाते हैं, एक बार ऐसा करने के बाद और इंटेलिज में प्रोजेक्ट को फिर से खोलें आईडीईए आपके लिए एक नई नई कॉन्फ़िगरेशन उत्पन्न करेगा।

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