ग्रहण में जावा परियोजना: प्रकार java.lang.Object को हल नहीं किया जा सकता है। यह अप्रत्यक्ष रूप से आवश्यक .class फ़ाइलों से संदर्भित है


209

मुझे ग्रहण में प्रोजेक्ट आयात करने के बाद निम्न त्रुटि हो रही है:

प्रकार java.lang.Object को हल नहीं किया जा सकता है। यह अप्रत्यक्ष रूप से आवश्यक .class फ़ाइलों से संदर्भित है

हालाँकि, मैंने ग्रहण केपलर में C: \ Program Files \ Java \ jdk1.6.0_41 के रूप में पथ सेट किया है , विंडो »प्राथमिकताएं» जावा »स्थापित JRE के माध्यम से


मैंने "कॉपी प्रोजेक्ट" बनाया और त्रुटि गायब हो गई
श्रीनाथ गणेश

Luna सेवा रिलीज़ 2 (4.4.2) में अभी भी व्यवहार होता है। यहां समाधान अभी भी समस्या को हल कर सकता है।
फोबिक

जवाबों:


243

यह एक कष्टप्रद ग्रहण बग है जो अब और फिर काटने लगता है। संभावित समाधान के लिए http://dev-answers.blogspot.de/2009/06/eclipse-build-errors-javalangobject.html देखें , अन्यथा निम्नलिखित प्रयास करें;

  • प्रोजेक्ट को बंद करें और इसे फिर से खोलें।

  • परियोजना को साफ करें (यह बिल्डपा को फिर से बनाएगा ताकि जेडीके पुस्तकालयों के साथ पुन: संयोजन हो)

    या

  • परियोजना को हटाएं और फिर से आयात करें और यदि आवश्यक हो तो उपरोक्त चरणों को फिर से करें।

बेहतर इलाज है कि ग्रहण की जगह नेटबीन्स आजमाएं :-)


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

ओह, एक ऐसी दुनिया के लिए जिसका आईबीएम के साथ अनुबंध नहीं था।
ज़ीबोब्ज़

1
मेरे पास एक एंड्रॉइड प्रोजेक्ट पर वह त्रुटि थी, मेरे लिए एंड्रॉइड टूल्स पर क्लिक करने पर -> प्रोजेक्ट प्रॉजेक्ट्स को ठीक करें।
लोरेंज

@Zibbobz को आईबीएम के साथ अनुबंध की आवश्यकता क्यों है। मैं अभी भी आईबीएम जावा के साथ इसे हल करने में सक्षम नहीं हूं।
आनंद

मुझे आश्चर्य है कि जब आप JAVA_HOME पर्यावरण चर को बदलते हैं तो यह संबंधित है? मैंने अपना JAVA_HOME चर बदल दिया था और यह पॉप अप हुआ। मैंने अभी JRE लाइब्रेरी को हटाया / पढ़ा।
user2124871

221

निम्नलिखित कदम मदद कर सकते हैं:

  1. प्रोजेक्ट »गुण» जावा बिल्ड पथ पर राइट-क्लिक करें
  2. चुनें पुस्तकालय टैब
  3. JRE सिस्टम लाइब्रेरी ढूंढें और इसे हटा दें
  4. लाइब्रेरी जोड़ें पर क्लिक करें ... दाईं ओर बटन »JRE सिस्टम लाइब्रेरी जोड़ें (कार्यक्षेत्र डिफ़ॉल्ट JRE)

4
मेरे मामले में यह इसलिए हुआ क्योंकि मैंने प्रोजेक्ट [मेरी गलती] का आयात करते समय गलती से JRE को हटा दिया था। इसने मुझे इस मुद्दे को ठीक करने के लिए एक सुराग दिया।
गायशनएनए

मेरे मामले में यह सब मौजूद नहीं था, इसलिए मैंने इसे जोड़ा।
मुहम्मद रिफैट

1
हालांकि इसने मेरे मामले में काम किया, 8 त्रुटियों को हल किया लेकिन मुझे एक और 33 दिया!
हर्ष फौजदार

10

यहां बताया गया है कि मैंने इसे कैसे हल किया: जावा-एडीटी में: विंडोज - वरीयता - जावा - स्थापित JREs बस एक और JRE जोड़ें, जो आपके JDK फ़ोल्डर के अंतर्गत 'jre' फ़ोल्डर की ओर इशारा करता है। (jre jdk में शामिल है)। सुनिश्चित करें कि आपने नया jre चुना है।


10

यह मेरे साथ तब हुआ जब मैंने ग्रहण लूना से ग्रहण 1.8 केपलर को ग्रहण केपलर में आयात किया।

  1. प्रोजेक्ट पर राइट क्लिक करें> बिल्ड पथ> बिल्ड पथ कॉन्फ़िगर करें ...
  2. लायब्रेरी टैब का चयन करें, आपको जावा 1.8 jre को एक त्रुटि के साथ देखना चाहिए
  3. जावा 1.8 jre का चयन करें और निकालें बटन पर क्लिक करें
  4. लाइब्रेरी जोड़ें ...> JRE सिस्टम लाइब्रेरी> अगला> कार्यक्षेत्र डिफ़ॉल्ट> समाप्त करें
  5. गुण विंडो बंद करने के लिए ठीक क्लिक करें
  6. प्रोजेक्ट मेनू> क्लीन ...> ओके पर जाएं

Et voilà, जो मेरे लिए काम करता है।


7

ऑब्जेक्ट क्लास जावा में सभी वर्गों के लिए आधार वर्ग है, यदि आप इसे याद कर रहे हैं तो इसका मतलब है कि आपके बिल्डपथ में jdk libs नहीं हैं। मुझे केप्लर के बारे में ज्यादा जानकारी नहीं है, लेकिन आपको यह सुनिश्चित करने की आवश्यकता है कि यह संकलन के लिए एक सही jdk और आपके java apps चलाने के लिए एक सही jre की ओर इशारा करता है।

हालाँकि मैंने ग्रहण केपलर टूलबार-> विंडोज़-> वरीयताओं-> जावा-> स्थापित jre से C: \ Program Files \ Java \ jdk1.6.0_41 के रूप में पथ सेट किया है

आप अपनी प्राथमिकताओं में jre के बजाय jdk को इंगित करने का प्रयास कर रहे हैं। टूलबार-> विंडोज़-> प्राथमिकताएं-> जावा-> स्थापित jre एक jre को इंगित करना चाहिए न कि jdk।


मैंने उसके साथ भी कोशिश की है। लेकिन फिर भी उसी त्रुटि की स्थिति में।
ब्लू डायमंड

4

अन्य किसी भी उत्तर ने मेरे लिए काम नहीं किया। लेकिन ऐसा किया:

  1. पैकेज एक्सप्लोरर में प्रोजेक्ट पर राइट क्लिक करें।
  2. स्रोत> क्लीन अप ...
  3. अगला> समाप्त करें

जब मैंने यह किया तो ग्रहण ने मेरी एक कक्षा में एक आयात जोड़ दिया। मुझे लगता है कि ऐसा इसलिए हुआ क्योंकि मैंने अपनी परियोजना को एक लापता आयात के साथ बचा लिया था, शायद काम के बाद घर जाने के लिए।


धन्यवाद .. काम कर रहा है .. कृपया मुझे समझाएं कि यह कैसे काम करता है?
सिंह अर्जुन

@SinghArjun मुझे यकीन नहीं है, लेकिन मुझे लगता है कि ऐसा तब होता है जब परियोजना को एक लापता आयात के साथ बचाया जाता है।
जैक पेटिंगर

4

क्या आपने ग्रहण में JRE के पिछले संस्करण का उपयोग करने के बाद एक अलग संस्करण JRE स्थापित किया है।

यदि इससे अधिक नहीं:

  1. अपनी परियोजना पर राइट क्लिक करें -> बिल्ड पथ -> बिल्ड पथ कॉन्फ़िगर करें
  2. 'लाइब्रेरी' टैब पर जाएं
  3. लाइब्रेरी जोड़ें -> JRE सिस्टम लाइब्रेरी -> अगला -> कार्यक्षेत्र डिफ़ॉल्ट JRE (या आप अपने सिस्टम को वैकल्पिक JRE के रूप में चुन सकते हैं -> समाप्त करें)

यदि हाँ।

  1. अपनी परियोजना पर राइट क्लिक करें -> बिल्ड पथ -> बिल्ड पथ कॉन्फ़िगर करें
  2. 'लाइब्रेरी' टैब पर जाएं
  3. पिछले संस्करण निकालें
  4. लाइब्रेरी जोड़ें -> JRE सिस्टम लाइब्रेरी -> अगला -> कार्यक्षेत्र डिफ़ॉल्ट JRE (या आप अपने सिस्टम से वैकल्पिक JRE चुन सकते हैं -> समाप्त करें)

4

प्रोजेक्ट के लिए सफाई, बंद करने / फिर से खोलने और आईडीई में निर्माण कार्य में जेआरई को जोड़ने / जोड़ने की कोई राशि मेरे लिए काम नहीं करती।

मुझे जो हल मिला वह था प्रोजेक्ट को एक्लिप्स (डिस्क से नहीं) से निकालना, प्रोजेक्ट की एक्लिप्स फाइल्स को डिस्क से हटाना और फिर से एक्लिप्स में इम्पोर्ट करना। वह काम किया।

यदि आप मावेन का उपयोग कर रहे हैं तो यह और भी तेज है:

  1. बंद करें ग्रहण (परियोजना को हटाने की कोई आवश्यकता नहीं)
  2. Daud mvn clean eclipse:clean eclipse:eclipse
  3. ग्रहण खोलें। आपकी परियोजना अभी भी मौजूद है और समस्या को दूर किया जाना चाहिए।

3

एक अन्य समस्या यह हो सकती है कि Android प्रोजेक्ट बिल्ड लक्ष्य सेट नहीं है।

  1. प्रोजेक्ट को राइट-क्लिक करें
  2. गुण चुनें
  3. Android पर क्लिक करें
  4. उपयुक्त प्रोजेक्ट बिल्ड लक्ष्य को टिक करें
  5. लागू करें | ठीक है

3

प्रोजेक्ट पर राइट क्लिक करें -> नेविगेटर में दिखाएँ नाविक दृश्य में आप .classpath फ़ाइल देख सकते हैं, इस फ़ाइल को हटाएं और प्रोजेक्ट बनाएँ। इसने मेरे लिए काम किया। पुनश्च। यदि आपने आपको कुछ संस्करण नियंत्रण जैसे कि perfoce / svn के साथ ग्रहण परियोजना को एकीकृत किया है, तो .classpath को हटाने से पहले परियोजना को अनलिंक करना मददगार होगा।


2

मैं एक नियंत्रक को जोड़ने के बाद ग्रहण पर प्ले-जावा एप्लिकेशन के साथ इस मुद्दे का सामना कर रहा था, मैंने JRE को बिल्ड पथ के माध्यम से हटा दिया और पुनः इंस्टॉल किया और फिर अपनी परियोजना को हटा दिया और आयात किया जिसने इस मुद्दे को स्वचालित रूप से हल किया। धन्यवाद जाइरो।


यह रिपन अल वसीम के उत्तर के समान है, है ना?
निकोलस राउल

2

यह एक ग्रहण बग प्रतीत होता है, हालांकि ग्रहण को फिर से शुरू करना मेरे लिए बहुत अच्छा काम करता है, आशा है कि यह किसी और को भी मदद करता है।


2

मेरी समस्या का हल क्या था

1) कोई रिक्त स्थान के साथ निर्देशिका के तहत jdk स्थापित करें:

C:/Java

के बजाय

C:/Program Files/Java

यह विंडोज में एक ज्ञात मुद्दा है। मैंने भी तय JAVA_HOMEकिया

2) मैंने अपने लैपटॉप पर जावा 7 और जावा 7। इसलिए मैंने jvm का उपयोग करके परिभाषित किया eclipse.ini। यदि आपके पास -vmप्रविष्टि नहीं है तो यह एक अनिवार्य कदम नहीं है eclipse.ini। मैंने अद्यतन किया:

C:/Java/jdk1.7.0_79/jre/bin/javaw.exe

के बजाय:

C:/Java/jdk1.7.0_79/bin/javaw.exe

सौभाग्य


1

मुझे ग्रहण खिड़कियों में एक ही समस्या थी कि मैं JNI से आश्रित .class फ़ाइलों को नहीं जोड़ सकता था। उसी को हल करने के लिए, मैंने नेटबीन्स आईडीई को सभी कोड पोर्ट किए।

ग्रहण (JAVA, विंडोज 7) में JNI / JNA फ़ोल्डर से सभी वर्गों की फाइलें नहीं जोड़ सकते


यह नीचे मतदान क्यों है? देखें कि मैंने सभी संभव समाधानों की कोशिश की, फिर भी इस मुद्दे को हल नहीं कर सका और फिर मैंने नेटबीन्स को कोड पोर्ट किया। मैंने इसका उत्तर दिया क्योंकि अगर कोई भी बुरी स्थिति में फंस गया, तो उसे मदद मिल सकती है।
जिओ द व्हिफ

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

1

जब हम tomcat 6 और jdk 1.8 संस्करणों के साथ काम कर रहे हैं, कुछ सुविधाएँ काम नहीं करेंगी और यह त्रुटि आपको मिल रही है। इस त्रुटि को हल करने के लिए आपको ग्रहण में jdk संस्करण को स्थिर संस्करण (बेहतर jdk 1.6 या jdk 1.8_65) में बदलने की आवश्यकता है।

ग्रहण चरण 1 में: गुण -> जावा निर्माण पथ -> jre प्रणाली पुस्तकालय (निकालें) चरण 2: जोड़ें -> jre प्रणाली पुस्तकालय -> वैकल्पिक jre -> स्थापित jre -> जोड़ -> मानक VM -> (ja घर में) जगह jdk पथ) -> खत्म

अब प्रोजेक्ट को साफ और जांचें


1

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


0

ग्रहण में कुछ अद्यतन स्थापित करने के बाद मेरे पास आए, लेकिन बाद में पुनः आरंभ करना भूल गए। तो शायद ग्रहण को फिर से शुरू करने से मदद मिल सकती है।


मैंने ऐसा करने की कोशिश की, लेकिन मुझे अभी तक टिप्पणी लिखने की अनुमति नहीं है।
NotX

0

हालाँकि यह मामूली हो सकता है, अपने जावा इंस्टॉलेशन की जाँच करें। मेरे लिए, rt.jar गायब था

मुझे ग्रहण की सेटिंग्स के साथ आधे दिन तक रहने के बाद और कहीं नहीं मिला। हताश, मैंने अंततः कमांड लाइन से परियोजना को संकलित करने की कोशिश करने का फैसला किया। मैं कुछ भी गलत देखने की उम्मीद नहीं कर रहा था क्योंकि मुझे लगा कि यह एक ग्रहण मुद्दा है लेकिन मेरे आश्चर्य के कारण मैंने यह देखा:

Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object

मुझे नहीं पता कि मेरे जावा इंस्टॉलेशन का क्या हुआ और rt.jar कहां गया। वैसे भी यह विफल चेकलिस्ट के माध्यम से जाने के लिए एक अनुस्मारक के रूप में आता है और सभी बॉक्सों पर कोई फर्क नहीं पड़ता कि वे कितने अविश्वसनीय हैं। इससे मेरा काफी समय बच जाता।


0

यह ग्रहण जावा-संकलक में 'उपयोगकर्ता' --releae विकल्प 'को अनचेक करने के बाद मेरे लिए काम कर रहा है

ग्रहण चरण 1 में: गुण -> जावा शिकायतकर्ता -> 'उपयोगकर्ता' - बैरल विकल्प 'को' - '' को समाप्त करें - समाप्त करें

जावा संस्करण 13.0.1 ग्रहण संस्करण: एंटरप्राइज़ जावा डेवलपर्स के लिए ग्रहण आईडीई।


0

प्रोजेक्ट पर राइट क्लिक करें, Maven -> अपडेट प्रोजेक्ट चुनें। इस मुद्दे को हल करना चाहिए।


समस्या निवारण करते समय ग्रहण -> मावेन -> अद्यतन एक कदम होना चाहिए।
वाइब्स

0

मेरे मामले में यह एक बड़ी मॉड्यूलर परियोजना थी और ' रेड एक्स ' केवल मूल परियोजना में दिखाई दे रही थी। मैं मूल परियोजना के लिए गया था

गुण -> निर्मित पथ

वहाँ JRE लाइब्रेरी को हटा दिया, बस, JRE लाइब्रेरी को मूल प्रोजेक्ट पर अब और नहीं।


0

इनमें से किसी भी समाधान ने मेरे लिए काम नहीं किया। मेरे मामले में समस्या यह थी कि मेरे पास कुछ जावा कोड उत्पादक .javaफाइलें थीं और मैंने गलती से एक फाइल बनाई थी जिसका नाम है Class.java(सामग्री को कोई फर्क नहीं पड़ता)। फ़ाइल को हटाने से समस्या ठीक हो गई।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.