2012-07-05 14 views
18

मेरे पास एक्लिप्स में एक प्रोजेक्ट है जो पहले जेआरई 7 का इस्तेमाल करता था और जेआरई 7 सिस्टम पुस्तकालयों का संदर्भ देता था। मुझे पूरी तरह से JRE6 में चलाने की आवश्यकता है। मैंने किसी भी जावा 7 विशिष्ट वाक्यविन्यास का उपयोग नहीं किया है, इसलिए स्रोत कोड स्वयं पूरी तरह से संगत है। यहां मैंने जो किया है वह है:मैं अपने ग्रहण प्रोजेक्ट को पहले जावा संस्करण में कैसे परिवर्तित करूं?

  • मैंने जेडीके 6 स्थापित किया।
  • मैं फिर विंडो> वरीयताएँ> जावा> स्थापित जेआरई और जेआरई 6 को डिफ़ॉल्ट रूप से सेट किया गया।
  • मैंने जेआरई 6 सिस्टम लाइब्रेरी का संदर्भ देने के लिए मेरे प्रोजेक्ट के को कॉन्फ़िगर किया है और जेआरई 7 नहीं।
  • अंत में मैं चला गया विन्यास> जेआरई चलाएं और इसे जेआरई 6 में चलाने के लिए सेट करें। 1,7

    और जब मैं चलाएँ: परियोजना .class फ़ाइल संगतता के साथ

    JRE संगत नहीं:

तुरंत कि अंतिम चरण के बाद, संवाद के शीर्ष बताने वाला संदेश से पता चलता प्रोजेक्ट मुझे यह त्रुटि संदेश मिलता है:

java.lang.UnsupportedClassVersionError: ExampleProcessingApp : Unsupported major.minor version 51.0 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:634) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:277) 
    at java.net.URLClassLoader.access$000(URLClassLoader.java:73) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:212) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:314) 
    at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:146) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266) 
    at sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:608) 
    at sun.applet.AppletPanel.createApplet(AppletPanel.java:798) 
    at sun.applet.AppletPanel.runLoader(AppletPanel.java:727) 
    at sun.applet.AppletPanel.run(AppletPanel.java:380) 
    at java.lang.Thread.run(Thread.java:679) 

जैसा कि मैंने पहले उल्लेख किया था, वास्तविक कोड परियोजना जावा 6 सिंटैक्स से अलग नहीं है, इसलिए यह जेआरई 6 में चलेगी। इसलिए संभवतः मुझे किसी भी तरह से स्रोत कोड से सभी .class फ़ाइलों को पुन: संकलित करने की आवश्यकता है। मैंने सोचा कि ग्रहण स्वचालित रूप से ऐसा करेगा। कोई विचार?

+6

क्या आपने अपना निर्माण डीआईआर साफ किया है? – sergiofbsilva

+0

यह भी देखने के लिए जांचें कि क्या आपके पास जावा का पुराना संस्करण है या नहीं। आपको इसे अपडेट करने की आवश्यकता हो सकती है या अपने कंप्यूटर पर संस्करण को पुनः स्थापित करने का प्रयास कर सकते हैं। – Kurty

उत्तर

35

सबसे पहले, अपनी परियोजना को साफ:

परियोजना> स्वच्छ

हैं कि चीजें ठीक नहीं होती ...

दूसरा अपनी परियोजना विशिष्ट जावा संकलक की जाँच करें:

परियोजना> गुण > जावा कंपाइलर

+0

मैंने वास्तव में आपके द्वारा वर्णित दूसरे चरण को पहले से ही किया है, लेकिन मैंने अपनी परियोजना को साफ/पुनर्निर्माण नहीं किया है और ऐसा लगता है कि इसे ठीक किया गया है। आपका बहुत बहुत धन्यवाद! – Jonathan

3

मैंने सोचा कि ग्रहण स्वचालित रूप से ऐसा करेगा। कोई विचार?

कोई ग्रहण तब तक सभी परियोजनाओं को साफ़ नहीं करता जब तक कि आप ऐसा करने के लिए नहीं कहें। यह केवल आपके द्वारा संशोधित स्रोतों की जेनरेट की गई क्लास फ़ाइलों को साफ़ करता है। आपको अपने समाधान का एक साफ निर्माण करना चाहिए, सबकुछ पुनर्निर्माण करना और फिर से चलाना चाहिए, इसे ठीक काम करना चाहिए।

1

मैंने ऐसे मामले का नेतृत्व किया है जहां परियोजना की सफाई ने इस मुद्दे को हल नहीं किया है। मुझे वास्तव में इसे काम करने के लिए विशिष्ट परियोजना को बंद करना और फिर से खोलना पड़ा।

7

कॉलिन द्वारा प्रदान की गई दूसरी विधि मेरे लिए काम करती है।

enter image description here enter image description here enter image description here enter image description here

0

सभी को धन्यवाद:

यहाँ कि दृष्टिकोण के लिए सभी कदम का एक दृश्य प्रतिनिधित्व है। हालांकि यह हल हो गया है, मैं एक और स्वाद जोड़ने के लिए ऐसा करने का एक और तरीका जोड़ना चाहता हूं।


यह फ़ाइल project_directory/.settings/org.eclipse.jdt.core.prefs में मैन्युअल रूप से संपादित परियोजना वरीयताओं और फिर ग्रहण में परियोजना ताज़ा द्वारा किया जा सकता।

Change from 1.7 to 1.6

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

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