2016-08-29 10 views
17

जब मैं IntelliJ पर काम करता हूं तो बिना किसी समस्या के चीजें चलती हैं, लेकिन जब मैं कमांड लाइन में संकलित और चलाने के लिए प्रयास करता हूं (sbt run के साथ) निम्न त्रुटि संदेश पॉप अप।स्कैला एसबीटी रन - "असमर्थित major.minor संस्करण 52.0"

[error] (run-main-0) java.lang.UnsupportedClassVersionError: akka/event/LogSource : Unsupported major.minor version 52.0 
java.lang.UnsupportedClassVersionError: akka/event/LogSource : Unsupported major.minor version 52.0 
     at java.lang.ClassLoader.defineClass1(Native Method) 
     at java.lang.ClassLoader.defineClass(ClassLoader.java:803) 
     at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
     at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 
     at java.net.URLClassLoader.access$100(URLClassLoader.java:71) 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
     at java.lang.Class.getDeclaredMethods0(Native Method) 
     at java.lang.Class.privateGetDeclaredMethods(Class.java:2625) 
     at java.lang.Class.getMethod0(Class.java:2866) 
     at java.lang.Class.getMethod(Class.java:1676) 

मैं उबंटू 14.04 एलटीएस का उपयोग कर रहा हूं।

$ lsb_release -a 
No LSB modules are available. 
Distributor ID: Ubuntu 
Description: Ubuntu 14.04.5 LTS 
Release:  14.04 
Codename:  trusty 

और मेरा स्कैला संस्करण 2.9.2 है।

$ scalac -version 
Scala compiler version 2.9.2 -- Copyright 2002-2011, LAMP/EPFL 

मैं मुश्किल से स्काला सीखने कुछ सप्ताह पहले, इसलिए यदि किसी को भी मैं में, यह बहुत सराहना की जाएगी क्या देखना चाहिए पर कुछ सलाह प्रदान कर सकता है शुरू कर दिया।

उत्तर

19

यह पता चला कि जेआरई संस्करण में एक मेल नहीं था। IntelliJ प्रोजेक्ट सेटिंग्स में प्रोजेक्ट एसडीके जावा 1.8 (मेरी स्थानीय मशीन पर) के रूप में सेट किया गया था, जबकि जेआरई 1.7 उबंटू सिस्टम (एक ईसी 2 इंस्टेंस) पर स्थापित किया गया था।

उबंटू 14.04 में, तो ओपनजेडीके 1.8 डिफ़ॉल्ट रूप से उपलब्ध नहीं है, इसलिए निम्न भंडार मैन्युअल रूप से जोड़ा जाना चाहिए। फिर ओपनजेडीके स्थापित किया जा सकता है।

sudo add-apt-repository ppa:openjdk-r/ppa 
sudo apt-get update 
sudo apt-get install openjdk-8-jre 

सिस्टम में डिफ़ॉल्ट जावा संस्करण निम्न आदेश चलाकर बदला जा सकता है।

sudo update-alternatives --config java 

एक बार मैं openjdk-8-jre स्थापित किया है और प्रणाली में डिफ़ॉल्ट जावा संस्करण समायोजित, sbt run आदेश किसी भी मुद्दे के बिना भाग गया।

+0

मुझे ग्रहण नियॉन 3 और उबंटू 16.04 एलटीएस पर समान समस्या थी, जो 'सूडो अपडेट-विकल्प-कॉन्फिग जावा' के माध्यम से डिफ़ॉल्ट जेरे को अपडेट कर रहा था। – vasigorc

0

मैं एक मैक का उपयोग कर रहा हूं और सरल स्कैला ट्यूटोरियल का पालन करके स्कैला सीखने की कोशिश कर रहा हूं। जब मैं ऐप चलाने की कोशिश कर रहा हूं तो मुझे यह त्रुटि मिली।

कारण: मेरे स्थापित जावा संस्करण 8. था लेकिन मेरे टर्मिनल पर संस्करण का उपयोग कर रहा था 7.

फिक्स: मैं नवीनतम संस्करण में जावा संस्करण अद्यतन और फिर इसे काम किया ।

0

जावा संस्करण को सही करने और फिर संकलित करने के लिए अद्यतन करें। यह ठीक काम करना चाहिए

0

मुझे अचानक विंडोज़ पर यह त्रुटि मिलनी शुरू हो गई। मेरे रास्ते को जावा जेडीके के पुराने संस्करण को इंगित करने के लिए किसी भी तरह से उलट दिया गया। पूरी तरह से, मैंने पहले नवीनतम जेडीके (here से ओरेकल के लिए) में अपग्रेड किया, जो मेरे लिए 8u152 था। मैं तो

c:\Program Files\Java\jdk1.8.0_152\bin 

करने के लिए अपने पथ प्रविष्टि को सही (यह 32 बिट संस्करण के लिए थोड़ा अलग होगा।) मैं तो सत्यापित है कि javac -version वास्तव में लौटे 1.8.0_152 (एक ताजा टर्मिनल खोलने के लिए सुनिश्चित करें - एक पहले से ही खुला एक पुराना रास्ता याद रखेगा)।

और फिर sbt run काम किया। (फिर से इसे एक नए टर्मिनल से करने के लिए याद रखना ताकि पथ ताजा हो।)

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