2012-01-19 11 views
5

मैंने इतना आसान ऐप नहीं लिखा, और एप्लेट बनाने का फैसला किया। मेरे पास .jar संग्रह और मुख्य वर्ग है chat.java (इसमें init() शामिल है और JApplet को बढ़ाता है)। मैं HTML फ़ाइल में इस कोड है:जावा - java.lang.UnsupportedClassVersion एप्पल में

<applet code="chat.class" archive="chat.jar" width="150" height="150"> 
Error! 
</applet> 

और यह जावा कंसोल में त्रुटि

java.lang.UnsupportedClassVersionError: chat : Unsupported major.minor version 51.0 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClassCond(Unknown Source) 
    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.defineClass(Unknown Source) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader.defineClassHelper(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader.access$100(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source) 
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source) 
    at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source) 
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Exception: java.lang.UnsupportedClassVersionError: chat : Unsupported major.minor version 51.0 

देता है। मुझे नहीं पता कि क्या करना है, मेरे एप्लेट को एक नया फ्रेम (पॉपअप) खोलना चाहिए जहां आप चैट कर सकते हैं और इसी तरह। किसी भी जवाब के लिए Thanx!

+0

क्या आप सत्यापित कर सकते हैं कि आपके जावा संस्करण वही हैं जहां आपने जार संकलित किया था? – mezzie

+0

* "मेरे एप्लेट को एक नया फ्रेम (पॉपअप) खोलना चाहिए जहां आप चैट कर सकते हैं और इसी तरह" * एप्लेट से पूरी तरह से छुटकारा पाएं और [जावा वेब स्टार्ट] (http://stackoverflow.com/ का उपयोग कर लिंक से फ्रेम लॉन्च करें) टैग/एप्लेट/जानकारी)। यह आसान है कि एक एप्लेट तैनात करना, और उपयोगकर्ता के लिए एक बेहतर अनुभव। –

उत्तर

11

आपके पास कक्षा फ़ाइल और जावा प्लगइन का असंगत संस्करण है। उदाहरण के लिए आप जावा 7 में अपना कोड संकलित करें और जावा 5 या जावा 6 पर चलाने की कोशिश कर रहे हैं।

असमर्थित MAJOR.MINOR संस्करण 51.0 मतलब है कि आप JDK7में अपने कोड संकलित किया है, और अपने ब्राउज़र प्लगइन मैं 6 या उससे अधिक JRE और यह नहीं समझती है।

ऐसी स्थिति में आप में से एक करने की ज़रूरत:

  • अद्यतन आपकी जावा प्लगइन (या उचित संस्करण में परिवर्तित आप अधिक है तो), या
  • का उपयोग कर 'बड़े जावा के लिए अपने एप्लेट संकलन - लक्ष्य 'विकल्प।

अपने जावा संस्करण को देखने के लिए plugin test पृष्ठ पर जाएं।

+0

मेरे पास दोनों नवीनतम संस्करण हैं। मुझे नहीं पता कि क्या करना है ... मैं ग्रहण का उपयोग कर रहा हूं, लक्ष्य संस्करण कैसे बदलें? –

+2

@kittyPL: आप अपने प्रोजेक्ट गुणों में बदल सकते हैं -> "जावा कंपाइलर" -> "कंपाइलर अनुपालन स्तर"। –

+0

1.5 के साथ महान काम किया !!! Thanx! अगर मैं कर सकता तो मैं वोट दूंगा: डी –

1

उस अपवाद का अर्थ है कि आपने अपनी कक्षाओं को एक विशिष्ट जेडीके के तहत संकलित किया है, लेकिन फिर उन्हें जेडीके के पुराने संस्करण के तहत चलाने का प्रयास करें। इसलिए, आप जेडीके 5.0 के तहत जेडीके 6.0 के साथ संकलित कक्षाएं नहीं चला सकते हैं। अपने ब्राउज़र जेआरई संस्करण की जांच करें। साथ ही आप अपनी कक्षाओं को संकलित करते समय एक लक्षित जेडीके निर्दिष्ट कर सकते हैं।

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