2011-08-30 13 views
78

Possible Duplicate:
unsupported major .minor version 51.0अपवाद: एक (असमर्थित MAJOR.MINOR संस्करण 51,0)

मैं JDK7, स्थापित एक सरल नमस्ते शब्द कार्यक्रम संकलन हो जाता है, लेकिन मैं अपवाद निम्न हो गया, जब मैं इस चलाते हैं।

Exception in thread "main" java.lang.UnsupportedClassVersionError: a (Unsupported major.minor version 51.0) 
    at java.lang.ClassLoader.defineClass0(Native Method) 
    at java.lang.ClassLoader.defineClass(Unknown Source) 
    at java.security.SecureClassLoader.defineClass(Unknown Source) 
    at java.net.URLClassLoader.defineClass(Unknown Source) 
    at java.net.URLClassLoader.access$100(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 sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClassInternal(Unknown Source) 

मैं कमांड प्रॉम्प्ट पर java -version जाँच की है, यह जावा संस्करण 1.4.2_03 से पता चलता लेकिन जब मैं java.com से नए जावा संस्करण को स्थापित करने की कोशिश की यह दर्शाता है कि मैं सिफारिश जावा 7 संस्करण हो रही है।

+1

ध्यान दें कि आप पहले जावा रनटाइम के लिए "-Target" विकल्प javac के साथ संकलित कर सकते हैं। –

+1

डुप्लिकेट नहीं - यह समस्या यह है कि जेडीके 7 पथ पर जेडीके 1.4.2 के पीछे मौजूद है। –

+1

मैकॉक्स के लिए निम्नलिखित ने मेरी मशीन पर काम किया। निर्यात JAVA_HOME =/लाइब्रेरी/जावा/जावा वर्चुअल माचिन/जेडीके 1.7.0_71.jdk/सामग्री/होम/जेआर –

उत्तर

33

पैथ सेटिंग्स की सामग्री को नोटपैड पर कॉपी करें और जांचें कि 1.4.2 का स्थान 7 के पहले आता है या नहीं। यदि ऐसा है, तो पथ सेटिंग में 1.4.2 तक पथ हटाएं और इसे सहेजें।

"पर्यावरण चर" को सहेजने और लागू करने के बाद सीएमडी लाइन को बंद करें और फिर से खोलें। XP में पथ पहले से चल रहे प्रोग्रामों में दिखाई नहीं देता है।

+0

हां, मुझे पथ में जेडीके 7 के पथ में "एच: \ sw \ general \ oracle10g \ jre \ 1.4.2 \ bin" पथ में प्रवेश हो रहा है। क्या मुझे इसे हटा देना चाहिए और क्या मुझे इस संशोधित पथ के साथ सिस्टम चर खंड के तहत पथ चर बदलना चाहिए? – Adnan

+0

हां। "एच: \ sw \ ... \ 1.4.2 \ bin;" के संदर्भ को हटाएं सिस्टम परिवर्तनीय खंड के तहत पथ से। परिवर्तनों को लागू करें और फिर मौजूदा कमांड लाइन को बंद करें और इसे फिर से खोलें। – arunmur

+1

: धन्यवाद v v v आपके बहुमूल्य समय के लिए, यह अभी ठीक काम कर रहा है। – Adnan

2

लगता है जैसे आपको नवीनतम संस्करण से मेल खाने के लिए अपने java निष्पादन योग्य पथ को बदलने की आवश्यकता है। मूल रूप से, नवीनतम जावा स्थापित करने का अर्थ यह नहीं है कि आपकी मशीन नवीनतम संस्करण का उपयोग करने के लिए कॉन्फ़िगर किया गया है। आपने किसी प्लेटफ़ॉर्म विवरण का उल्लेख नहीं किया है, इसलिए मैं बस इतना कह सकता हूं।

+0

आपके मूल्यवान समय के लिए धन्यवाद। मैं अपने जावा निष्पादन योग्य पथ को कैसे बदल सकता हूं? मैं विंडोज एक्सपी का उपयोग कर रहा हूँ। – Adnan

+1

इसे देखें: http://www.java.com/en/download/help/path.xml आप शायद वहां सत्यापित करने में सक्षम होंगे जहां वर्तमान पथ इंगित कर रहा है और इसे सही होने के लिए बदल रहा है। पाथ चर को संशोधित करते समय बहुत सावधान रहें। आप अपने कंप्यूटर को गंभीरता से गड़बड़ कर सकते हैं – hvgotcodes

+0

मैंने जेडीके 7 को इंगित करने के लिए पथ और JAVA_HOME सेट किया था। – Adnan

71

जेआरई के संस्करण को सेट करने के लिए कमांड लाइन से sudo update-alternatives --config java आज़माएं। इसे ठीक करना चाहिए।

+0

धन्यवाद, यह पूरी तरह से उबंटू 12.04 – markdrake

+0

पर काम करता है क्या मेरे लिए उबंटू सर्वर 12.04 पर भी चाल है! :) – xorinzor

+0

यह मेरे लिए काम किया, लेकिन केवल ग्रहण को फिर से शुरू करने के बाद ही। – elliptic1

9

आप मान लिया जाये कि ग्रहण का उपयोग कर रहे हैं, पर एक मैक आप कर सकते हैं:

  1. लॉन्च Eclipse.app
  2. Eclipse -> Preferences
  3. चुनें Java -> Installed JREs
  4. चुनें Add... बटन पर क्लिक करें
  5. चुनें MacOS X VM JRE प्रकार के रूप में । अगला दबाएं।
  6. में "JRE होम:" फ़ील्ड में टाइप /Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home
  7. जिसका शीर्षक सूची में प्रणाली पुस्तकालयों देखना चाहिए "JRE प्रणाली पुस्तकालयों:"
  8. JRE एक नाम दें। अनुशंसित नाम JDK 1.7 है। समाप्त क्लिक करें।
  9. आपके द्वारा अभी बनाए गए जेआरई प्रविष्टि के बगल में स्थित चेकबॉक्स को चेक करें। यह एक्लिप्स को सभी नई जावा परियोजनाओं के लिए डिफ़ॉल्ट जेआरई के रूप में उपयोग करने का कारण बन जाएगा। ओके पर क्लिक करें।
  10. अब, एक नई परियोजना बनाएं। इस सत्यापन के लिए, मेनू से, File -> New -> Java Project चुनें।
  11. दिखाई देने वाले संवाद में, अपनी परियोजना के लिए एक नया नाम दर्ज करें। इस सत्यापन के लिए, test17Project
  12. डायलॉग के जेआरई अनुभाग में, Use default JRE (currently JDK 1.7)
  13. चुनें क्लिक करें।

आशा इस मदद करता है

+1

मैक ओएस एक्स योसेमेट (10.10.5) पर, मुझे **/लाइब्रेरी/जावा/जावा वर्चुअल माचिन/जेडीके 1.7.0_79 पर जेडीके मिला .jdk/सामग्री/होम/** – GiriB

+0

आप अपना समय बचाते हैं, बहुत धन्यवाद ~ – BinGoBinBin

+0

नए जेडीके का उपयोग करने के लिए मौजूदा परियोजनाओं के निर्माण पथ को भी बदलना याद रखें – yankel

8

मैं था इस समस्या, जावा 6. के बगल में jdk7 स्थापित करने के बाद बाइनरी सही ढंग से jdk7 को update-alternatives --config java का उपयोग कर अद्यतन किया गया है, लेकिन $JAVA_HOME वातावरण चर अभी भी जावा 6 के पुराने निर्देशिका की ओर इशारा किया ।

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