Intellij आयात पर प्रतीक को हल नहीं कर सकता


126

यह समस्या विभिन्न पुस्तकालयों और विभिन्न परियोजनाओं के लिए रुक-रुक कर होती है। लाइब्रेरी आयात करने का प्रयास करते समय, पैकेज को मान्यता दी जाएगी, लेकिन क्लास का नाम हल नहीं किया जा सकता है।

यदि आयात विवरण पर, मैं right-click -> Goto -> the package's declaration, मैं सभी विघटित वर्गों को साइड पेन में प्रदर्शित करता हूं - जिसमें मुझे अपनी आवश्यकता शामिल है - यदि मैं आयात कथन को स्वतः पूर्ण करने का प्रयास करता हूं, तो मुझे लगता है कि मुझे जिस वर्ग की आवश्यकता है वह नहीं है। ड्रॉप डाउन।

मैंने पहले ही कैश को अमान्य करने की कोशिश की, काम नहीं करता है। मुझे कोई भी वर्ग संघर्ष नहीं मिल रहा है - एक ही पैकेज के नाम के साथ मेरी कक्षा में कोई अन्य जार फ़ाइल नहीं है। मैं इस वर्ग को अन्य परियोजनाओं में आयात करने में सक्षम हूं।

कृपया स्क्रीन शॉट्स देखें:

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें

किसी के पास कोई सुराग है?


1
क्या आप सुनिश्चित हैं कि पुस्तकालय मॉड्यूल में जोड़ा गया था? इसे प्रोजेक्ट लाइब्रेरी के रूप में जोड़ा जा सकता है लेकिन मॉड्यूल क्लासपाथ पर नहीं।
mkobit

हां - प्रोजेक्ट संरचना में, पुस्तकालय को एक निर्भरता के रूप में जोड़ा जाता है - वास्तव में, मुझे लगता है कि यह इंटेलीज में एक बग है - अलग-अलग पुस्तकालयों / परियोजनाओं के लिए बेतरतीब ढंग से होता है - परियोजना को खरोंच से फिर से बनाना आमतौर पर इसे ठीक करता है
Asaf Ebgi

यदि उत्तर में उल्लिखित सब कुछ उचित है। परियोजना को बंद करें और फिर से आयात करें। यह मेरे लिए इस मुद्दे को हल किया।
हरि कृष्णन

जवाबों:


250

आप कैश को अमान्य करने और intellij को पुनरारंभ करने का प्रयास कर सकते हैं, कई मामलों में यह मदद करेगा।

फ़ाइल -> अमान्य कैश / पुनः आरंभ करें


सफाई परियोजना ने भी मदद की
GeRyCh

2
@GeRyCh IMHO, ग्रहण की सफाई =
इन्टेलीज अवैध

मेरे लिए भी काम नहीं किया। मेरा जुनीत एक 'ग्लोबल लाइब्रेरी' था। जब मैं इसे हटाता हूं और IntelliJ के अपने JUnit5 वितरण को जोड़ता हूं, तो यह काम करता है। जब मैं फिर इस निर्भरता को एक वैश्विक पुस्तकालय में परिवर्तित करता हूं, तो त्रुटियां वापस आ जाती हैं। मुझे संदेह है कि यह एक बग है क्योंकि इसे प्रोजेक्ट लाइब्रेरी में कनवर्ट करने के बजाय ठीक काम करता है।
मार्क जेरोनिमस

1
शुक्रिया यह मेरे लिए काम किया। मैंने अभी इंटेलीज का उपयोग शुरू किया है और मैं पहले से ही इससे बहुत नाराज हूं। कोई कोष्ठक से बाहर नहीं जा सकता है, प्रोग्राम को पुनः आरंभ करने की आवश्यकता है ताकि यह ठीक से संकलित हो, यह वास्तव में जावा आईडीई का विंडोज है।
अज़ुरेई

3
मुझे कुछ हफ्तों के बाद दिन में कम से कम एक बार यह समस्या है। वास्तव में मुझे बाहर तनाव के रूप में सब कुछ हमेशा के लिए फिर से अनुक्रमण करता है।
स्पायरो

38

इसके कई कारण हो सकते हैं। मेरे मामले में यह गलत स्रोत मूल मुद्दा था। अमान्य कैश अन्य समाधानों के साथ काम नहीं किया।

अपने मॉड्यूल स्रोत जड़ों की जाँच करें।

  1. परियोजना संरचना ( Ctrl+ Alt+ Shift+ S)।

  2. मॉड्यूल

  3. अपने समस्या मॉड्यूल का चयन करें।

  4. विंडो के शीर्ष पर टैब बदलें "स्रोत"।

  5. अवांछित स्रोत की जड़ें निकालें। एक रखें और इस जड़ में src और परीक्षण स्रोत जड़ें जोड़ें।


1
मुझे नहीं पता कि यह कुछ लोगों के लिए काम करता है, लेकिन ऐसा लगता है, और मुझे आश्चर्य है कि क्यों: वास्तव में आपका अगला ग्रेडल सिंक उन सभी निर्देशिका निर्देशिकाओं को फिर से बनाएगा जिन्हें आपने अभी निकाला है।
फ्रैंक मारजोआ

16

IntelliJ निर्भरता को हल करने में समस्याएँ हैं। निम्नलिखित आज़माएँ:

  1. Pom.xml -> Maven -> Reimport पर राइट क्लिक करें
  2. फिर से pom.xml -> Maven -> स्रोतों पर क्लिक करें और फ़ोल्डरों को अपडेट करें

12

अपने मॉड्यूल निर्भरता की जाँच करें।

  1. प्रोजेक्ट संरचना ( Ctrl+ Alt+ Shift+)S)।
  2. मॉड्यूल
  3. अपने समस्या मॉड्यूल का चयन करें।
  4. विंडो के शीर्ष पर टैब बदलें "निर्भरताएं"।
  5. जाँच करें कि कौन सी लाइब्रेरी की आवश्यकता है (हो सकता है, आपको टैब 'लाइब्रेरी' में निर्दिष्ट लाइब्रेरी जोड़ने की आवश्यकता हो) या मॉड्यूल को यहां सूचीबद्ध किया गया है और इसमें सही गुंजाइश है (ज्यादातर 'कंपाइल' करें)।

12

इस प्रोजेक्ट को अपने प्रोजेक्ट कंसोल में चलाएँ:

mvn idea:idea

किया हुआ। यह मुद्दा कई बार था। 'अमान्य कैश और पुनः आरंभ' और अन्य सभी समाधानों की कोशिश की। उस कमांड को चलाना मेरे लिए परफेक्ट है। मैं वर्तमान में IntelliJ 2019.2 का उपयोग कर रहा हूं, लेकिन यह पिछले संस्करणों में भी हुआ और समाधान ने भी काम किया।


Btw इस
मावेन

11

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


मेरे लिए टेस्ट काम के बजाय संकलन। तुम जानते हो क्यों?
30th

1
आप यह कैसे करते हैं? माइक कौन है?
cellepo

8

फ़ाइल -> अमान्य कैश / पुनरारंभ करें या प्रोजेक्ट का पुनर्निर्माण नहीं किया मुझे काम ।

मेरे ग्रेडल प्रोजेक्ट के लिए जो काम किया गया था, वह इंटेलीजे v2017 के शीर्ष-दाएं कोने पर ग्रेड टैब से "सभी ग्रेडल प्रोजेक्ट को रिफ्रेश करें" था, जो नीचे दिखाए गए पीले रंग के चिह्नित बटन का उपयोग कर रहा था:

यहाँ छवि विवरण दर्ज करें


इस जवाब ने मेरी मेवेन परियोजना के लिए भी काम किया। IntelliJ 2018.3.4 के लिए आइकन एक जैसा (नीला मोड़ तीर) रहता है, लेकिन विकल्प का सटीक शीर्षक 'Reimport All Maven Projects' कहलाता है। लेखक के लिए बड़ा अप, यह एक घंटे के शोध के बाद आपकी समस्या का एक सही समाधान खोजने के लिए बहुत राहत देने वाला है
TomateFraiche

4

मुझे दूसरे लिंक से @ jossef-harush और @ Matt-leidholm से उपयोगी उत्तर मिला

  • IntelliJ संपादक में, लाल कीवर्ड पर क्लिक करें ( Integerउदाहरण के लिए) और ALT+ दबाएँ ENTER(या लाइट बल्ब आइकन पर क्लिक करें)
  • Setup JDKइरादे मेनू से चयन करें

IntelliJ इरादे मेनू

  • पर क्लिक करें Configure

प्रोजेक्ट SDK चयन संवाद

  • मेरे मामले में, JDKपथ गलत था ( /opt/jdk1.7.0_51इसके स्थान पर इंगित किया गया था /opt/jdk1.7.0_65)

टूटा हुआ एसडीके संवाद कॉन्फ़िगर करें

  • पर क्लिक ...करें और सही JDKपथ पर ब्राउज़ करें

फिक्स्ड कॉन्फ़िगर एसडीके संवाद

  • कैश को साफ करते हैं

IntelliJ फ़ाइल मेनू



3

Pom.xml फ़ाइल पर राइट क्लिक करें, Maven पर जाएं Reimport पर क्लिक करें। मुझे भी ऐसी ही समस्या थी और यह मेरे लिए काम कर गया।


1

मैंने कैश और रीस्टार्ट करने को अमान्य करने की कोशिश की, लेकिन मेरे लिए काम करने वाली एकमात्र चीज .id निर्देशिका को पूरी तरह से मिटा रही थी, फिर स्क्रैच से एक नया प्रोजेक्ट बना।


यह वास्तव में एक समाधान नहीं है। मैं इसकी कोशिश करता था लेकिन मेरे मामले पर इसका कोई असर नहीं पड़ता।
तुंग

1

जब मैंने एक नया जावा प्रोजेक्ट बनाने की कोशिश की तो मुझे भी कई बार यह त्रुटि मिली।

नीचे चरण है कि मुझे यह बेवकूफ मुद्दा कैसे मिला।

  1. एक खाली प्रोजेक्ट बनाएं, और नई निर्देशिका बनाएं src/main/java
  2. स्रोत पैकेज बनाएँ net.gongmingqm10.sketch
  3. उपयोग करें gradle wrapper, gradle ideaपरियोजना के लिए ग्रेडियल सामान बनाने के लिए।
  4. build.gradleफ़ाइल में कुछ निर्भरताएँ जोड़ें , औरgradle build , परियोजना को फिर से शुरू करें।
  5. बनाएँ User.javaऔर School.javaमौजूदा पैकेज मेंnet.gongmingqm10.sketch
  6. जब मैं User.java में आयात स्कूल का उपयोग करने का प्रयास करता हूं, तो मुझे त्रुटि मिली।
  7. Intellij शिकायत रखता है आयात पर प्रतीक का समाधान नहीं कर सकता।

उपाय:

पहले प्रोजेक्ट बनाएँ, और मुख्य / जावा को स्रोत रूट के रूप में चिह्नित करें। एक ही नाम के साथ एक नई निर्देशिका बनाएँnet.gongmingqm10.sketch । पुराने परेशान पैकेज से सभी फाइलों को नए पैकेज में स्थानांतरित करें।

मूल कारण:

स्रोत कोड का निर्देशिका ट्री

जैसा कि आप पेड़ से देख सकते हैं। मुझे एक निर्देशिका नाम मिला net.gongmingqm10.sketch। लेकिन हमें वास्तव में 3 स्तरों की निर्देशिका की आवश्यकता है: net-> gongmingqm10-> स्केच

लेकिन इससे पहले कि मैं इंटेलीज में अपनी परियोजना का निर्माण करूं, मैं नाम से नई निर्देशिका बनाता हूं net.gongmingqm19.sketch, जो मुझे नाम के साथ एक वास्तविक निर्देशिका देगा net.gongmingqm10.sketch

जब हम इसे आयात करने की कोशिश कर रहे हैं। जाहिर है, नाम के साथ सूई निर्देशिका के तहत फ़ाइल को कैसे आयात किया जा सकता है a.b.c


धन्यवाद दोस्त, यह मेरी समस्या थी। संपादित करें: विस्तृत ... मैंने 1 मावेन मॉड्यूल से दूसरे में प्रतिलिपि बनाई, और प्रतिलिपि ने निर्देशिकाओं को समतल कर दिया। जबकि इंटेलीज ने देखा कि यह सब कुछ सॉर्ट किया गया था, मेरा फ़ोल्डर वास्तव में एक "b> c के बजाय" abc "था।
qbert

1

@Anton Dozortsev I एक समान व्यवहार से पागल हो गया था; मैंने आईडीई के एक समूह को फिर से स्थापित करना समाप्त कर दिया, केवल आईडीईए ऐप, सभी कैश, वरीयताओं, आदि को हटाने के बाद इस मुद्दे को पिछले किया।

मैंने अंतरिम में सभी प्रकार के चरणों की कोशिश की, (जैसे पुनरारंभ, अमान्य, हटाने .ideaऔर *.imlफ़ाइलें, और अन्य।)

बाहर, समस्या IntelliJ की idea.max.intellisense.filesizeसेटिंग के कारण थी । मैंने इसे 100KB पर सेट किया था, जो कि मेरी निर्भरता के आकार से छोटा था, जिससे इंटेलीजे को अज्ञात रूप में दिखाया गया, जैसे कि आपके स्क्रीनशॉट में।

ठीक कर:

  1. मदद पर क्लिक करें -> कस्टम गुण संपादित करें

  2. संपत्ति को बड़े मूल्य पर सेट करें; डिफ़ॉल्ट 2500KB है idea.max.intellisense.filesize=2500


1

तब तक यही समस्या थी जब तक मैंने देखा कि src फ़ोल्डर को जावा के बजाय रूट स्रोत के रूप में चिह्नित किया गया था ! स्रोत रूट होने के लिए केवल जावा (src / main / java) को बदलने से मेरी समस्या हल हो गई यहाँ छवि विवरण दर्ज करें


1

कृपया फ़ाइल की कोशिश करें-> सिंक्रनाइज़ करें। फिर बंद करें और IntelliJ को अमान्य करने से पहले फिर से खोलें।

एक बार मैंने फिर से शुरू किया। मैंने अमान्य कर दिया होगा, लेकिन सिंक्रनाइज़ करने के बाद पुनरारंभ करने के बाद सब कुछ साफ़ कर दिया।


0

सिंपल रेस्टार्ट ने मेरे लिए काम किया।

मेरा सुझाव है कि पहले पुनरारंभ के साथ प्रयास करें और फिर आप कैश को अमान्य करने का विकल्प चुन सकते हैं।

पुनश्च: सिस्टम कैश को साफ करने से स्थानीय इतिहास साफ हो जाएगा।


0

मैं अपने आयातित मावेन प्रोजेक्ट के साथ एक समान मुद्दा था। एक मॉड्यूल में, यह अन्य मॉड्यूल के हिस्से के लिए आयात पर प्रतीक को हल नहीं कर सकता है (हां, उस मॉड्यूल का हिस्सा हल किया जा सकता है)।

मैंने "मावेन होम डायरेक्टरी" को एक नए संस्करण में बदल दिया, जिससे मेरी समस्या हल हो गई।

अपडेट: 1 घंटे के लिए अच्छा, टूटी हुई स्थिति में वापस ...


0

मुझे स्रोत का कारण पता चला!

मेरे मामले में, मैं एक जार फ़ाइल जोड़ता हूं जिसमें कुछ जावा स्रोत फ़ाइल शामिल होती है, लेकिन मुझे लगता है कि जावा स्रोत खराब है, Intellij Idea निर्भरता पुस्तकालय में यह स्रोत को स्वचालित रूप से जोड़ता है, इसलिए संपादक में आयात है , JUST स्रोत कोड निकालें " प्रोजेक्ट स्ट्रक्चर "->" लाइब्रेरी ", यह मेरे लिए काम करता है।


0

मेरे लिए यह क्या था। पैकेज फ़ाइल को .idea फ़ोल्डर में संपादित करना क्योंकि मैंने गलती से इस जार लाइब्रेरी में स्रोतों को जोड़ा और एंड्रॉइड b / m पिक्चर लाइब्रेरी त्रुटि के रूप में चिह्नित स्रोत लाइन को हटाकर इसे हल नहीं कर सका ।

फिर हल और bam समस्या को हल किया।


0

मेरे पास एक ही मुद्दा था और इसका कारण परियोजना के स्रोतों का गलत अंकन था।

मैंने मैन्युअल रूप से रूट कंटेंट बनाया और ध्यान नहीं दिया कि src/main/testफ़ोल्डर को Sourcesइसके बजाय चिह्नित किया गया था Tests। तो यही कारण है कि अपने परीक्षण कक्षाओं अपने सभी परीक्षण पुस्तकालयों (है मान लिया गया है JUnit, Mockitoसंकलित की गुंजाइश, नहीं टेस्ट के साथ, आदि)।

जैसे ही मैंने src/main/testटेस्ट के रूप में चिह्नित किया और मॉड्यूल को फिर से बनाया, सभी त्रुटियां दूर हो गईं।


0

हाल ही में जब मैंने निल्फी पर काम करने के लिए इंटेलीज का उपयोग करने की कोशिश की थी, तो यह मुद्दा निकला कि नीफी को मावेन> = 3.1.0 की आवश्यकता है और जिस संस्करण के साथ मैंने जांच की थी (मुझे लगता है कि मेरी डिफ़ॉल्ट) 3.0.5 थी। इस परियोजना के लिए मावेन संस्करण को अद्यतन करना इसे ठीक कर दिया गया है, इसलिए कुछ मामलों में मावेन संस्करण गलत-संरेखण देखने की बात हो सकती है ... मुझे लगता है कि यह काफी असामान्य है, लेकिन यदि आप इस धागे पर अभी तक प्राप्त कर रहे हैं तो आप शायद असामान्य मुद्दा :)


0

एक ही समस्या। अगर ये तरीके काम नहीं करते। आप स्थानीय मावेन रिपॉजिटरी से फैमिली को हटाने की कोशिश कर सकते हैं, और पोम को रीइम्पोर्ट कर सकते हैं।

मवन भंडार

अंत में यह मेरे लिए ठीक है।

परियोजना


0

file-> Project Structure-> Modules, समस्याओं के साथ मॉड्यूल ढूंढें, इसे क्लिक करें और Dependenciesदाईं ओर टैब चुनें । हरे रंग के प्लस चिह्न पर क्लिक करें, जार या पुस्तकालयों को जोड़ने का प्रयास करें जो समस्या का कारण बनते हैं। ये मेरे लिए सही है।


0

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

mvn dependency:purge-local-repository

Intrestingly, मेरी समस्या का स्रोत इसलिए IntelliJ नहीं था, लेकिन खुद को मावेन किया।


0

मैंने ऊपर की कोशिश की कुछ भी मेरे लिए काम नहीं किया (ऐसा नहीं कि मैंने हर सुझाव की कोशिश की)। आखिरकार क्लास का नाम बदलने के लिए क्या चाल चली गई - मैंने सिर्फ क्लास के नाम और फ़ाइल नाम में 2 जोड़ दिया। फिर मैंने सभी संदर्भों को मैन्युअल रूप से हल किया। (चूंकि वे पहचाने नहीं गए थे, इसलिए रिफैक्टरिंग ने संदर्भों को स्वचालित रूप से नहीं बदला।)

एक बार जब "2-संस्करण" को हर जगह खुशी से हल किया गया था, तो मैं तब 2 को क्लास और फ़ाइल से हटाने और हटाने में सक्षम था, और सब कुछ तब था जैसा कि होना चाहिए।


0

मेरे मामले में समाधान मावेन परियोजना के रूप में परियोजना को जोड़ना था, इस तथ्य के अलावा कि मैं मावेन परियोजना के रूप में आयात करता हूं: पी

pom.xml पर जाएं -> राइट क्लिक -> मावेन प्रोजेक्ट के रूप में जोड़ें


0

Intelli iDEA इन बेवकूफ़ परेशानियों का @ कारण बनता है। साधारण गोटो pom.xml, राइट क्लिक करें और करें -> Maven -> Reimport।

इससे समस्या हल हो जानी चाहिए।


0

2020.1.4 अंतिम संस्करण के लिए, मुझे निम्नलिखित कार्य करना था

View -> Maven -> Generate Sources and Update Folders For all Projects

मेरे लिए मुद्दा यह था कि पुस्तकालय mvn -U clean installटर्मिनल से आबाद नहीं हो रहे थे ।

यहाँ छवि विवरण दर्ज करें


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