java - असमर्थित major.minor संस्करण 52.0




applet version (18)

इस प्रश्न का उत्तर यहां दिया गया है:

चित्रों:

कमांड प्रॉम्प्ट संस्करण दिखा रहा है

त्रुटि की तस्वीर

Hello.java

import java.applet.Applet;
import java.awt.*;

public class Hello extends Applet {

    // Java applet to draw "Hello World"
    public void paint (Graphics page) {
        page.drawString ("Hello World!", 50, 50);
    }
}

Hello.html

<HTML>
    <HEAD>
        <TITLE>HelloWorld Applet</TITLE>
    </HEAD>

    <BODY>
        <APPLET CODE="Hello.class" WIDTH=300 HEIGHT=150>
        </APPLET>
    </BODY>
</HTML>

त्रुटि

Hello : Unsupported major.minor version 52.0

समस्या क्या हो सकती है?


अगर आपको एंड्रॉइड स्टूडियो में कोई समस्या है और आपने एंड्रॉइड एन स्थापित किया है, तो एंड्रॉइड प्रतिपादन संस्करण को पुराने के साथ बदलें और समस्या गायब हो जाएगी।


अपने एंडोरा संस्करण को जेडीके 1.8 में अपग्रेड करें।

यह एक संस्करण मेल नहीं है कि आपका कंपाइलर जावा संस्करण 8 की तलाश में है और आपके पास जावा संस्करण 7 है।

आप संस्करण 8 में संस्करण 7 में एक ऐप बिल्ड चला सकते हैं, लेकिन आप इसके विपरीत नहीं कर सकते क्योंकि जब उच्च स्तर की बात आती है, तो संस्करण पिछले संस्करणों की बजाय अधिक सुविधाओं, एन्हांसमेंट के साथ एम्बेडेड होते हैं।

इस लिंक से जेडीके संस्करण डाउनलोड करें

और इसके लिए अपना जेडीके पथ सेट करें


आपको अपने आईडीई में अपने कंपाइलर अनुपालन स्तर को 1.7 पर वापस बदलने की आवश्यकता होगी।

यह आपके आईडीई की वरीयता सेटिंग्स में किया जा सकता है। उदाहरण के लिए, ग्रहण में विंडोजप्राथमिकताएं मेनू पर जाएं, जावा का चयन करें और इसे विस्तृत करें। फिर कंपाइलर का चयन करें और अनुपालन स्तर को 1.7 में बदलें। मुझे यकीन है कि यह वहां से काम करेगा।


आपको अपने जावा संस्करण को जावा 8 में अपग्रेड करना होगा।

नवीनतम जावा संग्रह डाउनलोड करें

अपने आधिकारिक डाउनलोड पेज से नवीनतम जावा एसई डेवलपमेंट किट 8 रिलीज डाउनलोड करें या खोल से डाउनलोड करने के लिए निम्न आदेशों का उपयोग करें।

64 बिट के लिए

 # cd /opt/

 # wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u51-b16/jdk-8u51-linux-x64.tar.gz"

 # tar xzf jdk-8u51-linux-x64.tar.gz

32 बिट के लिए

 # cd /opt/

 # wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u51-b16/jdk-8u51-linux-i586.tar.gz"

  # tar xzf jdk-8u51-linux-i586.tar.gz

नोट: यदि उपरोक्त wget कमांड आपके लिए काम नहीं करता है, तो टर्मिनल का उपयोग कर जावा स्रोत संग्रह डाउनलोड करने के लिए इस उदाहरण वीडियो को देखें।

विकल्प के साथ जावा स्थापित करें

संग्रह फ़ाइल निकालने के बाद, इसे स्थापित करने के लिए विकल्प कमांड का उपयोग करें। विकल्प कमांड chkconfig पैकेज में उपलब्ध है।

 # cd /opt/jdk1.8.0_51/

 # alternatives --install /usr/bin/java java /opt/jdk1.8.0_51/bin/java 2

 # alternatives --config java

इस बिंदु पर जावा 8 को आपके सिस्टम पर सफलतापूर्वक इंस्टॉल किया गया है। हम विकल्पों का उपयोग करके जावैक और जार कमांड पथ सेट अप करने की भी सलाह देते हैं:

 # alternatives --install /usr/bin/jar jar /opt/jdk1.8.0_51/bin/jar 2

 # alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_51/bin/javac 2

 # alternatives --set jar /opt/jdk1.8.0_51/bin/jar

 # alternatives --set javac /opt/jdk1.8.0_51/bin/javac

स्थापित जावा संस्करण की जांच करें

निम्न आदेश का उपयोग कर जावा के स्थापित संस्करण की जांच करें।

[email protected] ~# java -version

java version "1.8.0_51"
Java(TM) SE Runtime Environment (build 1.8.0_51-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)

पर्यावरण चर को विन्यस्त करना

अधिकांश जावा-आधारित अनुप्रयोग काम करने के लिए पर्यावरण चर का उपयोग करते हैं। निम्न आदेशों का उपयोग कर जावा पर्यावरण चर सेट करें:

सेटअप JAVA_HOME चरणीय

# export JAVA_HOME=/opt/jdk1.8.0_51
Setup JRE_HOME Variable

# export JRE_HOME=$JAVA_HOME/jre
Setup PATH Variable

# export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

ध्यान दें कि पीएटीएच वैरिएबल में परिवर्तन ने नए जावा बिन फ़ोल्डरों को पहले रखा ताकि वे पथ में किसी भी मौजूदा जावा / डिब्बे को ओवरराइड कर सकें। यह आपके रास्ते में दो जावा / बिन फ़ोल्डरों को छोड़ने के लिए थोड़ा सा मैला है, इसलिए आपको सलाह दी जानी चाहिए कि उन्हें एक अलग कार्य के रूप में साफ करें।

साथ ही, सिस्टम बूट पर ऑटो लोडिंग के लिए /etc/environment फ़ाइल में सभी पर्यावरण परिवेशों को ऊपर रखें।


इनमें से किसी भी उत्तर ने मेरी मदद नहीं की, लेकिन मुझे एक समाधान मिला।
मेरे पास वाइल्डफ्लाई 8.2 में इस्तेमाल किया गया वेबप्रोजेक्ट था, जिसे मैवेन के साथ बनाया गया था, स्रोत और लक्ष्य मैवेन-कंपाइलर-प्लगइन पर 1.8 पर सेट किया गया था, साथ ही साथ सभी ग्रहण और मेवेन सेटिंग्स जावा 1.8 पर सेट की गई थीं। समस्या यह थी कि वाइल्डफ्लाई 8.2 जावा 1.8 को संभाल नहीं सकता है, इसलिए मुझे सबकुछ 1.7 पर सेट करना पड़ा और यह काम किया।


उस समस्या को ठीक करने का स्मार्ट तरीका नवीनतम एसडीके का उपयोग करके संकलन करना और संकलन करते समय क्रॉस संकलन विकल्पों का उपयोग करना है। विकल्पों का उपयोग करने के लिए पूरी तरह से सही rt.jar के rt.jar ( rt.jar नहीं ) के rt.jar की आवश्यकता है।

उस एप्लेट की प्रकृति को देखते हुए, ऐसा लगता है कि इसे जावा 1.1 के उपयोग के लिए संकलित किया जा सकता है।



बस इसे जोड़ना चाहते हैं। मुझे आज यह समस्या थी। मेरी परियोजना, पुनर्निर्मित, और एक ही समस्या में सेटिंग्स समायोजित करें। मैंने (गलत तरीके से) माना था कि मेरी परियोजना (ग्रहण) में सेटिंग्स को बदलने से उन परियोजनाओं का कारण बन जाएगा जिन पर मेरी परियोजना को फिर से सम्मिलित किया जाता है। निर्भरता पेड़ की सभी परियोजनाओं में सेटिंग्स को समायोजित करने से समस्या हल हो गई।


मुद्दा जावा संस्करण विसंगति के कारण है। विकिपीडिया जावा क्लास संदर्भ का जिक्र करते हुए:

  • जावा एसई 10 = 54
  • जावा एसई 9 = 53
  • जावा एसई 8 = 52
  • जावा एसई 7 = 51
  • जावा एसई 6.0 = 50
  • जावा एसई 5.0 = 4 9
  • जेडीके 1.4 = 48
  • जेडीके 1.3 = 47
  • जेडीके 1.2 = 46
  • जेडीके 1.1 = 45

ये असाइन किए गए प्रमुख नंबर हैं। असमर्थित major.minor संस्करण के बारे में त्रुटि यह है कि संकलन समय के दौरान आप रनटाइम के दौरान उच्च जेडीके और कम जेडीके का उपयोग कर रहे हैं

इस प्रकार, 'major.minor संस्करण 52.0' त्रुटि संभवतः इसलिए है क्योंकि जार जेडीके 1.8 में संकलित किया गया था, लेकिन आप इसे जेडीके 1.7 वातावरण का उपयोग करके चलाने की कोशिश कर रहे हैं। रिपोर्ट की गई संख्या आवश्यक संख्या है, न कि आप जिस नंबर का उपयोग कर रहे हैं। इसे हल करने के लिए, जेडीके और जेआरई को एक ही संस्करण की ओर इशारा करना हमेशा बेहतर होता है।

इंटेलिजे आईडीईए में,

  1. मेवेन सेटिंग्समेवेनआयात पर जाएं । आयातक के लिए जेडीके को 1.8 पर सेट करें।
  2. मेवेन सेटिंग्समेवेनधावक पर जाएं । जेआरई को 1.8 पर सेट करें।
  3. मेनू फ़ाइल → → परियोजना संरचनाएसडीके पर जाएं । सुनिश्चित करें कि जेडीके होम पथ 1.8 पर सेट है।

IntelliJ IDEA को पुनरारंभ करें।

एक अन्य दृष्टिकोण जो मदद कर सकता है इंटेलिजे आईडीईए को निर्देश देकर जेडीके संस्करण शुरू करना है।

यहां जाएं: / अनुप्रयोग / IntelliJ \ IDEA \ 15 \ CE.app/Contents/Info.plist और JVM संस्करण को इसके साथ प्रतिस्थापित करें:

<key>JVMVersion</key>
<string>1.8*</string>

मेरे पास जावा 1.7 और 1.8 स्थापित था (एसबीटी 2.4 के साथ जिसमें जावा 1.8 की आवश्यकता है)। भले ही मेरी परियोजना जावा 1.8 से जुड़ी हुई थी, मुझे JAVA_HOME पर्यावरण चर को 1.8 पर बदलना पड़ा। अंत में, समस्या हल हो गई।


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

मेरी परियोजना में, मैंने एक जेएआर फ़ाइल जोड़ा जो जावा 8 में बनाया गया था। और मेरी परियोजना जेआरई 7 का जिक्र कर रही थी। जब मैंने परियोजना जेआरई को 8 में बदल दिया, तो मेरी समस्या हल हो गई।

कदम:

ग्रहण में, प्रोजेक्ट एक्सप्लोरर में प्रोजेक्ट नाम पर राइट क्लिक करें → बिल्ड ग्राफ़ → लाइब्रेरीज़ → जेआरई संस्करण पर क्लिक करेंसंपादित करेंस्थापित जेआरई → → → स्टेंडरड वीएम → जेआरई होम क्लिक-पथ का चयन करें (पथ localePath\java\jdk1.8.0_25\jre होना चाहिए localePath\java\jdk1.8.0_25\jre ) → नाम प्रदान करें → सहेजें → प्रोजेक्ट → समाप्त → ठीक के लिए एक ही localePath\java\jdk1.8.0_25\jre चयन करें। एक बार रीफ्रेश करें / प्रोजेक्ट बनाएं → अपनी जावा फ़ाइल चलाने की कोशिश करें। यह काम करना चाहिए।


मैंने जेआरई के पुराने संस्करणों को हटाकर और जेआरई 8 स्थापित करके अपनी समस्या हल की।


यदि आप NetBeans IDE का उपयोग कर रहे हैं, तो प्रोजेक्ट पर राइट क्लिक करें और प्रॉपर्टीज पर जाएं और स्रोतों पर जाएं , और आप स्रोत / बाइनरी प्रारूप को कम जेडीके संस्करण में बदल सकते हैं।


यदि आप ग्रहण v4.4 (लुना) का उपयोग कर रहे हैं और उपरोक्त वर्णित सभी चरणों को पूरा कर चुके हैं तो आप अपनी रन कॉन्फ़िगरेशन सेटिंग जांचना चाहेंगे।

इस समस्या का कारण बनने वाली कई संभावनाएं हो सकती हैं। मूल कारण परियोजना के एक मेल के लिए जेडीके 1.8 / जेआरई 8 में संकलन की आवश्यकता है जबकि पर्यावरण कंपाइलर जेडीके 1.7 / जेआरई 7 है।

आप अपनी सभी पोस्ट सेटिंग्स के माध्यम से जाने के लिए मेरी ब्लॉग पोस्ट देख सकते हैं।


यदि आप लिनक्स का उपयोग कर रहे हैं और आपके पास जावा के विभिन्न संस्करण स्थापित हैं, तो निम्न आदेश का उपयोग करें:

sudo update-alternatives --config java

यह सिस्टम पर स्थापित जावा संस्करणों के बीच स्विच करने का एक त्वरित तरीका देगा। जावा 8 चुनकर मैं आपकी समस्या का समाधान करूंगा।


यदि आपका जेडीके संस्करण सही है। एक और कारण यह है कि इस त्रुटि का कारण यह हो सकता है कि आपका एंड्रॉइड स्टूडियो कम संस्करण में है, लेकिन आपका Gradle संस्करण बहुत अधिक है। Upgrade your IDE to a newer version इससे मदद मिल सकती है।


समस्या को हल करने के लिए आपको बस इतना करना है ... यह सुनिश्चित करने के लिए कि जावा का आपका संस्करण संकलन और चलने दोनों के लिए समान है। कोई फर्क नहीं पड़ता कि आप किस उपकरण या आईडीई का उपयोग कर रहे हैं।


आपको जावा के उसी संस्करण के साथ अपने एप्लिकेशन को चलाने और संकलित करना होगा।

यदि आप ग्रहण का उपयोग कर रहे हैं तो आपको 2 चीजें करना चाहिए:

  1. ग्रहण में, "विंडो> प्राथमिकताएं" पर क्लिक करें, और दिखाई देने वाली विंडो में, बाईं ओर, "जावा" के अंतर्गत, "स्थापित जेआरई" पर क्लिक करें, "जोड़ें ..." पर क्लिक करें और उस फ़ोल्डर में नेविगेट करें जेडीके

  2. अपनी प्रोजेक्ट पर राइट-क्लिक करें और दिखाई देने वाली विंडो में "गुण" पर क्लिक करें, बाईं तरफ, "जावा कंपाइलर" पर क्लिक करें और "जावा बिल्ड पथ पर निष्पादन पर्यावरण से अनुपालन का उपयोग करें" अनचेक करें , इससे आपको चुनने की अनुमति मिलती है सूची में "कंपाइलर संकलन स्तर" वही संस्करण जो आपने पिछले चरण में सेट किया था।





unsupported-class-version