ग्रहण त्रुटि: "आयात XXX को हल नहीं किया जा सकता"


135

मैं ग्रहण में हाइबरनेट के साथ काम करने की कोशिश कर रहा हूं। मैं एक नया सरल प्रोजेक्ट बना रहा हूँ और मैंने एक collegue प्रोजेक्ट भी डाउनलोड किया है, CVS के माध्यम से। दोनों काम नहीं करते हैं, जबकि मेरे कोलेज के ग्रहण पर करते हैं। समस्या यह है कि, हाइबरनेट वर्ग के प्रत्येक आयात के लिए, ग्रहण कहता है:

The import org.hibernate cannot be resolved

लेकिन सभी हाइबरनेट जार बिल्ड पथ में हैं, अर्थात्:

antlr-2.7.6.jar
cglib-2.2.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
hibernate3.jar
hibernate-jpa-2.0-api-1.0.0.Final.jar
javassist-3.12.0.GA.jar
jta-1.1.jar
slf4j-api-1.6.1.jar

1
आपने अपने निर्माण पथ में इन जार को कैसे जोड़ा?
जिगर जोशी

3
गुण> जावा बिल्ड पथ> पुस्तकालय> जोड़ें बाहरी जार द्वारा
नीले


1
अगर यह काम किया है और वे अब नहीं, नीचे देखें @dogbane का जवाब ...
Shanimal

जांचें कि आपके आयात फ़ोल्डर में कोई जगह है या नहीं। यदि कोई जगह है, तो ग्रहण पर अंतरिक्ष और आयात परियोजनाओं को हटा दें।
शिन चैन

जवाबों:


283

निम्न मेनू आइटम पर जाकर अपने प्रोजेक्ट को साफ़ करने का प्रयास करें:

Project > Clean...

यदि वह काम नहीं करता है, तो निर्माण पथ से जार को हटाने और उन्हें फिर से जोड़ने का प्रयास करें।


5
एक JRE मुद्दा हो सकता है। प्रोजेक्ट गुणों में "वैकल्पिक JRE" का चयन करने का प्रयास करें।
डोगबेन डे

10
क्लीन ने भी मेरे लिए काम किया। वास्तव में क्या होता है (सब कुछ बस अचानक चला गया) और क्लीन कैसे मदद करता है?
कृपाण धावक

1
इससे मेरे लिए भी समस्या हल हो गई; यह एक हाइबरनेट परियोजना नहीं है, लेकिन एक libGdx एक है, मेरे जावा आयात को कॉल करता है और जार नहीं। वही @SabreRunner के बारे में सोच रहा है, और यह भी: पर्यावरण उपकरण में कहीं एक बग है?
Zac

3
मेरे लिए भी काम किया। जब संदर्भ मदद मेनू आपकी कक्षा को ढूंढ रहा है और उसके हाथ से समान आयात टाइप कर रहा है, तो यह बहुत निराशाजनक है कि इसे "हल नहीं किया जा सकता" और कोई त्रुटि नहीं ...
Shanimal

1
इस तरह मेरे मामले में मदद नहीं करता है। मेरा ग्रहण संस्करण है: नियॉन .3 रिलीज़ (4.6.3)
टिमोथी

27

जाहिर है ऐसे मामले हैं जहां एक वैध मुद्दा है लेकिन ग्रहण कभी-कभी बिना किसी अच्छे कारण के इस त्रुटि को फेंक देता है।

यह अभी भी (2019-03) एक पुराना (2010) ग्रहण बग है जिसे परियोजना सेटिंग्स में एक नगण्य परिवर्तन करके हल किया जा सकता है।

जो सेटिंग मैंने बदलने के लिए चुनी थी वह थी: प्रोजेक्ट> प्रॉपर्टीज> जावा बिल्ड पाथ> ऑर्डर और एक्सपोर्ट> एक अर्थहीन ऑर्डर चेंज> अप्लाई करें।

आदेश को वापस बदलने से समस्या वापस नहीं आती है। बस टच आईएनजी फ़ाइल भी समस्या को हल कर सकती है (मैं अगली बार टच का परीक्षण करूँगा)।


1
फ़ाइल> गुण को प्रोजेक्ट> गुण में बदला जाना चाहिए।
टिमोथी। मेरी

इस तरह मेरे मामले में मदद नहीं करता है। मेरा ग्रहण संस्करण है: नियोन .3 रिलीज़ (4.6.3)
टिमोथी

मेरे लिए, JRE सिस्टम लाइब्रेरी को बिल्ड पाथ ऑर्डर और एक्सपोर्ट टैब में मावेन डिपेंडेंसीज से ऊपर होना था।
एंथनी हेवर्ड

2
यह बग अब कम से कम 9 साल पुराना है।
user1133275

यह अभी भी है, नवंबर 2019। शीश।
तुललोचर्गम

22

प्रोजेक्ट को साफ करें। और निर्माण पथ पर वास्तव में होने वाले जार की दोबारा जांच करें (बिना किसी त्रुटि के)। यह भी सुनिश्चित करें कि "समस्याएं" दृश्य में कुछ भी नहीं है।


मैंने पहले से ही एक बार फिर यह कोशिश की है: व्यक्तिगत जार के साथ, एक पुस्तकालय के अंदर, ... यह एक अजीब त्रुटि है!
नीले

1
आप समस्याओं को देखने में कुछ भी है?
बूझो

केवल मैंने जो समस्याएं बताईं और टाइप की चेतावनियाँ दीं, "धारावाहिक योग्य वर्ग एज़ेन्डा एक स्थिर अंतिम क्रमबद्ध धारावाहिक टाइप के घोषित नहीं करता है"।
नीले

18

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


17

यदि मावेन परियोजना है, तो मावेन पर भी क्लिक करें >> अद्यतन परियोजना ... (F5)

अद्यतन मावेन परियोजना


यदि आप "जावा प्रोजेक्ट" के रूप में एक मावेन प्रोजेक्ट आयात करते हैं तो यह समस्या होती है। परियोजना को मावेन परियोजना में बदलें और जैसा कि आपने कहा था कि तब समस्या दूर हो गई है।
कोड़ामन्यघ

8

मैंने इसे प्रोजेक्ट को हटाकर (डिस्क पर डिलीट नहीं) और इसे फिर से आयात करके हल किया।


8
  1. स्वच्छ परियोजना परियोजना -> स्वच्छ ...
  2. प्रोजेक्ट पर राइट क्लिक करें -> बिल्डपैथ -> कन्फिगर बिल्डप्थ -> लाइब्रेरी टैब ->

JRE SYSTEM LIBRARY पर डबल क्लिक करें -> फिर वैकल्पिक JRE का चयन करें


6

मुझे समस्या थी, कि कक्षापथ किसी तरह टूट गया था।

तो पैकेज एक्सप्लोरर में प्रोजेक्ट पर राइट क्लिक करें> प्लग-इन टूल्स> अपडेट क्लासपाथ ... यह मेरे लिए किया था


नियोन .3 रिलीज़ (4.6.3) में, पैकेज एक्सप्लोरर में प्रोजेक्ट पर राइट-क्लिक करके
संवादात्मक

6

मैंने प्रोजेक्ट को अपडेट करके इस समस्या को हल किया: मावेन प्रोजेक्ट पर राइट क्लिक करें, मावेन का चयन करें -> अपडेट प्रोजेक्ट -> स्नैपशॉट / रिले के चेकबॉक्स फोर्स अपडेट का चयन करें।


5

अपने प्रोजेक्ट के निर्माण पथ में JRE सिस्टम लाइब्रेरी को जोड़ने का प्रयास करें।


3

मेरे साथ इसने कम्पाइलर अनुपालन स्तर को बदलने में मदद की । अज्ञात कारणों से इसे 1.6 पर सेट किया गया था और मैंने इसे 1.8 में बदल दिया।

प्रोजेक्ट लेवल पर एक बार प्रोजेक्ट> प्रॉपर्टीज> जावा कंपाइलर पर राइट क्लिक करें, जबकि एक्लिप्स में मेन्यू विंडो> प्रेफर्स> जावा> कंपाइलर पर क्लिक करें।


3

मैंने ऊपर दिए गए सभी उत्तरों की कोशिश की लेकिन कोई भाग्य नहीं। मेरे मामले में, कुछ अतिरिक्त ".class" फ़ाइलों के साथ एक निर्मित बिल्ड / कक्षाएं फ़ोल्डर है। मैंने पैकेज एक्सप्लोरर पर जाना, प्रोजेक्ट पर राइट-क्लिक करना और "रिफ्रेश" विकल्प का चयन करना समाप्त कर दिया और जिसने बिल्ड / क्लासेस फ़ोल्डर को फिर से समस्या को हल करने के लिए उपलब्ध कराया।


3

इससे मेरी समस्या हल हो गई है।

1) स्वच्छ परियोजना परियोजना -> स्वच्छ ...

2) प्रोजेक्ट पर राइट क्लिक करें -> बिल्डपैथ -> बिल्ड बिल्डपैथ -> लाइब्रेरी टैब -> जेआरई सिस्टम लिब्ररी पर डबल क्लिक करें -> फिर वैकल्पिक जेआरई चुनें

3) सहेजें पर क्लिक करें

4) फिर से प्रोजेक्ट एक्सप्लोरर में अपनी परियोजना पर जाएं और प्रोजेक्ट पर राइट क्लिक करें -> बिल्डपैथ -> बिल्ड बिल्डपैथ -> लाइब्रेरी टैब -> जेआरई सिस्टम लिब्ररी पर डबल क्लिक करें -> इस बार "एक्सेप्शन एनवायरनमेंट" चुनें

5) लागू करें


2

मेरे मामले में यह मावेन भंडार में टूटा हुआ जार था। रिपॉजिटरी में जार फ़ाइलों को हटा दें और मावेन को फिर से डाउनलोड करने दें।

जब मैं mvn clean installकमांड लाइन से भागा , यह ठीक चला, लेकिन एक्लिप्स अभी भी कोड को संकलित नहीं कर सका। जब मैं maven installग्रहण में भागा तब मैंने देखा कि मावेन ने खराब जार फ़ाइल के बारे में शिकायत की थी। इसलिए मैंने इसे हटा दिया और maven installफिर से चला गया। समस्या दूर हो गई थी।


2

अपनी .m2 निर्देशिका में गैर-मौजूदा जार फ़ाइल डाउनलोड करने के लिए, आपको mvn clean installअपने प्रोजेक्ट pom.xml के लिए कमांड चलाना चाहिए । फिर आपको क्लिक करके प्रोजेक्ट निर्भरता को अपडेट करना चाहिए Alt+F5। यह मेरे लिए काम करता है!


2

"मॉड्यूल-info.java" को हटाने से मेरे लिए समस्या का समाधान हो गया!

यह फ़ाइल स्वचालित रूप से जेनरेट की गई थी और मेरे पदानुक्रम में दिखाई दी थी ...


1

मेरे पास एक ही समस्या थी क्योंकि मैंने एक जार बनाया था, जहां मैंने कक्षाओं की आधार निर्देशिका के अलावा पैकेजिंग आधार निर्देशिका निर्धारित की थी। परिणामस्वरूप वर्ग java.util.Listको आयात करना पड़ा, util.Listहालाँकि सुझाया गया आयात पहले वाला था।

संदर्भित पुस्तकालयों के तहत आयातित जार की जाँच करें कि वे सही ढंग से आयात किए गए हैं


1

मुझे इसके पीछे का तर्क समझ में नहीं आया लेकिन इस समस्या का वही हल किया जो मैं झेल रहा था। उपरोक्त समाधानों में वर्णित चरणों को निष्पादित करने से पहले आपको इन चरणों की आवश्यकता हो सकती है (सभी परियोजनाओं को साफ करें और स्वचालित रूप से निर्माण करें)।

राइट क्लिक परियोजना -> गुण -> परियोजना पहलू -> जावा का चयन करें -> लागू करें


1

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


1

pom.xml

यदि यह मावेन परियोजना है, तो pom.xml पर जाएं और सभी निर्भरता जार को हटा दें। बचाओ। प्रोजेक्ट अपने आप बन जाएगा।

फिर फिर से निर्भरता जार जोड़ें (आप कर सकते हैं Ctrl+ Z)। बचाओ। प्रोजेक्ट अपने आप बन जाएगा और आपको वह त्रुटि दिखाई नहीं देगी।


1

अपने POM.XML में निर्भरता निकालें और जार डाउनलोड करें और इसे बिल्डपैथ में जोड़ें।

कुछ समय -> मावेन नए परिवर्तनों को प्रतिबिंबित नहीं करेगा और इस तरह की संभावना का कारण हो सकता है


0

कृपया कोशिश करें और जांचें कि क्या सभी लिबास जगह में हैं। मेरी भी यही समस्या थी। लेकिन मैंने इसे लेबर फ़ोल्डर को स्थानांतरित करके और निर्माण पथ में सभी जार को फिर से जोड़कर हल किया।


0

मुझे भी यही समस्या हुई। मैंने जार डाउनलोड किया और इसे बिल्ड पथ में जोड़ा, लेकिन मैंने ध्यान नहीं दिया कि एक्सटेंशन .jar.zip था। मैंने फिर से इसे .jar में परिवर्तित कर दिया और बिल्ड पथ में जोड़ दिया।

इसने मेरी समस्या हल कर दी। यह एक बहुत ही मूर्खतापूर्ण गलती है लेकिन मैंने इसे यहां लिखा है कि यह किसी की मदद कर सकता है।


0

यदि आप मावेन के साथ काम कर रहे हैं और यह समस्या है, तो रिपॉजिटरी सर्वर (उदाहरण के लिए नेक्सस सर्वर) की जांच करें, अगर विरूपण साक्ष्य है। कभी-कभी, वे कलाकृतियों के नाम को बदल सकते हैं और आप इसके पुराने नाम के साथ कलाकृतियों को प्राप्त करने का प्रयास करते हैं।


0

स्रोत को लिंक करके हल किया गया। एक्सप्लोरर में प्रोजेक्ट पर राइट क्लिक करें, प्रॉपर्टीज़ चुनें, जावा बिल्ड पाथ चुनें, टैब से सोर्स सिलेक्ट करें, "LinkSource" बटन दबाएँ। और प्रोजेक्ट में जोड़ने के लिए फ़ोल्डर को निर्दिष्ट करना।


0

मैं भी आयात नहीं कर सकता। मुझे यह पता लगाने में कुछ घंटे लगे, कि मैंने 1.6 बाउंड लाइब्रेरी / जार का उपयोग करने की कोशिश की, जबकि मैं 1.8 के लिए संकलन करने की कोशिश कर रहा था। जब मैंने अपनी परियोजना को 1.6 का उपयोग करने के लिए स्विच किया, तो आयात मुद्दा चला गया। सभी त्रुटि संदेश गलत दिशाओं में आगे बढ़ रहे थे। बस स्रोत में मुझे 1.6 संस्करण के लिए निर्देशन की कुछ सीमाएं मिलीं। और: उदाहरण के लिए .settings और .classpath (फ़ाइल-खोज) -> org.eclipse.jdt.core.compiler.codegen.targetPlatform = 1.6 ऐसे मुद्दों पर संकेत दे सकता है।


0

मुझे एक ही मुद्दे का सामना करना पड़ा और मैंने इसे एक जार को हटाकर हल किया जो मेरे pom.xml पर दो अलग-अलग निर्भरता में दो बार जोड़ा गया था। एक निर्भरता को हटाने से समस्या हल हो गई।


0

मेरे लिए, ऐसा लगता था कि मैं लाइब्रेरी के फ़ोल्डर के गलत स्तर को जोड़ रहा था। मैंने जेरिको HTML पार्सर डाउनलोड किया , इसे अनज़िप किया eclipse-workspace/libraries/jericho-html-3.4/

फिर इसे बाहरी पुस्तकालय फ़ोल्डर के रूप में जोड़ते समय, चाल उस फ़ोल्डर में नेविगेट करने के लिए थी, "कक्षाएं" फ़ोल्डर को हाइलाइट करें और ओपन दबाएं। मैंने पहले पैरेंट और सबफ़ोल्डर्स के विभिन्न स्तरों को जोड़ने की कोशिश की थी और यह काम नहीं किया।

यह बहुत यहाँ समझाया गया है , यह कहते हैं

आप एक क्लास फ़ोल्डर भी जोड़ सकते हैं , एक निर्देशिका जिसमें जावा क्लास फाइलें होती हैं जो एक जार में नहीं होती हैं।

मेरे लिए यहां दो सबक सीखे गए हैं, अगर ये ऑफ-टॉपिक हैं तो माफी मांगें:

  1. निर्देशों को ध्यान से पढ़ें - जैसा कि शब्द-दर-शब्द में है!

  2. हार न मानें - यह पहली बार है जब मैं एक पुस्तकालय जोड़ रहा हूं, मुझे इसे जोड़ने में लगभग दो घंटे लगे।


0

ग्रहण आईडीई के लिए समाधान

मेरे मामले में मैंने इसे इन दो फ़ाइलों में से एक को सही करके तय किया है जो भ्रष्ट हो सकती है: .classpath या .project

किसी भी दूषित फ़ाइल को सुधारने के लिए, आप किसी अन्य प्रोजेक्ट से कॉपी कर सकते हैं, जिसमें .project फ़ाइल या .classpath फ़ाइल दोनों प्रश्न हैं और त्रुटि-रहित है। लेकिन यह सुनिश्चित करें कि अतिरिक्त सेटिंग्स नहीं जोड़ें जो कि उपयोग नहीं की जाएंगी।


0

[ कोड इग्नाइटर फ्रेम वर्क] [ आयात पुस्तकालय ]

प्रोजेक्ट एक्सप्लोरर दृश्य में प्रोजेक्ट पर राइट-क्लिक करने का प्रयास करें , रिफ्रेश चुनें । सभी त्रुटि मार्कर मेरे मामले में आश्चर्यजनक रूप से चले गए हैं।


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

require __DIR__ . '/../../vendor/autoload.php';

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