2012-08-26 16 views
31

में जावा परियोजना में "नहीं प्रतीक पा सकते हैं" मैं वर्ग "GameManager.java" से एक स्थिर सिंगलटन उदाहरण के लिए इस फोन करना।हो रही Intellij

HUD.getInstance().update(timeDelta); 

HUD.java HUD वर्ग के साथ-साथ दो अन्य संबंधित कक्षाएं, HUDTextElement और HUDElement शामिल हैं। सभी वर्ग एक ही रूट पथ में हैं ../src/org/mypackage

हालांकि, इंटेलिजे में इस जावा प्रोजेक्ट को संकलित करते समय मुझे एचयूडी.getInstance() कॉल लाइन पर "प्रतीक एचयूडी नहीं मिल सकता" ।

यह ठीक उसी कोड ग्रहण में किसी भी विचार कि समस्या क्या है ठीक संकलित,?

+0

क्या आपके पास एचयूडी वर्ग दोनों में आयात किया गया है? –

उत्तर

19

यह हो सकता है आपके ../src फ़ोल्डर IntelliJ विचार में "स्रोत" फ़ोल्डर के रूप में चिह्नित नहीं किया गया है की संभावना है, तो यह वहाँ देखने के लिए अपनी कक्षा को खोजने के लिए पता नहीं है। आप प्रोजेक्ट एक्सप्लोरर में फ़ोल्डर पर राइट क्लिक कर सकते हैं और इसे ठीक करने के लिए "स्रोत फ़ोल्डर के रूप में चिह्नित करें" चुनें।

+0

1 एक possiblity है, लेकिन 2 उसे एक त्रुटि नहीं देगी कि यह एचयूडी नहीं मिल सका, बल्कि एक त्रुटि यह कह रही है कि इसे प्राप्त/अद्यतन विधि नहीं मिली है? –

+0

अच्छा बिंदु एलेक्स, मैंने संपादित किया है। धन्यवाद! –

+0

युप :) अब अच्छा लग रहा है, +1 :) –

10

मदद के लिए धन्यवाद अब तक, पता चला है ठीक पहले HUD.java संकलित करने के लिए किया गया था (सही फ़ाइल> संकलित HUD.java पर क्लिक करें)। जावा फ़ाइल को संकलित करने के बाद बाकी परियोजना को बिना किसी समस्या के संकलित किया जा सकता है।

मुझे नहीं पता कि यह क्यों तय किया गया है, या इंटेलिजे स्वचालित रूप से ऐसा क्यों नहीं करेगा, लेकिन रूट त्रुटि ऐसा लगता है कि इसे इंटेलिजे के साथ करना है, जो एकल .java फ़ाइल में एकाधिक कक्षाओं को सही ढंग से प्रबंधित नहीं करता है।

+1

IntelliJ एक ही फ़ाइल में एकाधिक कक्षाओं को ठीक से संभाल सकता है, बस यह सुनिश्चित करने की आवश्यकता है कि फ़ाइल किसी बिंदु पर संकलित की गई हो। – Makoto

+0

हाँ, सिवाय इसके कि मुझे एक ही कक्षा फ़ाइल के साथ एक ही समस्या थी। विचित्र रूप से पर्याप्त, यह मैवेन कमांड चलाने से पहले ठीक ठीक चल रहा था: 'mvn com.zenjava: javafx-maven-plugin: 2.0: fix-classpath'। यह javafx जार को libs निर्देशिका से वर्तमान जेडीके के लिए ext निर्देशिका में स्थानांतरित करने के लिए है। मैंने इसे पाया [यहां] (http://zenjava.com/javafx/maven/fix-classpath.html)। – nihilon

45

मुझे एक ही समस्या थी, और पता चला कि मैंने कभी भी पूरी परियोजना को संकलित नहीं किया था। तो राइट-क्लिक करना और संकलन '(मैक पर शिफ्ट-सेमी-एफ 9) का चयन करना इसे ठीक करें। ऐसा लगता है कि सहेजने पर संकलन गैर संकलित फाइलों को 'नहीं' देखता है।

स्रोत फ़ोल्डर के रूप में स्रोत फ़ोल्डर को चिह्नित करना मेरे मामले में सहायता नहीं करता है।

+0

यह मेरे लिए हल हो गया। +1 :) – Babyburger

5

मैं अपने प्रोजेक्ट में मैवेन का उपयोग करता हूं। किसी कारण से इंटेलिजे मुझे इस तरह की ग़लत त्रुटियां दे रहा था। मैं एमवीएन साफ ​​चला गया और एक resync कोशिश की और इन त्रुटियों गायब हो गया।

+0

एमवीएन साफ ​​क्या है? – clankill3r

+1

स्वच्छ एक मैवेन लाइफसाइकिल है। यदि आप मेवेन प्रोजेक्ट द्वारा बनाई गई सभी आउटपुट फ़ाइलों को साफ़ करना चाहते हैं तो आप इसका इस्तेमाल करते हैं। –

+0

लेकिन यह मेरे लिए काम किया – gleitonfranco

2

मुझे पता है कि यह एक पुराना सवाल है, लेकिन मेरे हाल के अनुभव के अनुसार, ऐसा इसलिए होता है क्योंकि निर्माण संसाधन या तो हटा दिए जाते हैं या आइडिया उन्हें स्रोत के रूप में नहीं पहचान सकता है।

जहाँ भी त्रुटि दिखाई देती है, फोल्डर/निर्देशिका के लिए स्रोत प्रदान और इस त्रुटि का समाधान किया जाना चाहिए।

कभी-कभी जब हम पूरे फ़ोल्डर के लिए स्रोत आवंटित करते हैं, तो भी व्यक्तिगत कक्षाएं अनुपलब्ध हो सकती हैं। नौसिखिया उपयोगकर्ताओं के लिए सरल समाधान एक नई प्रतिलिपि आयात करना और एप्लिकेशन को फिर से जाने के लिए अच्छा बनाना है।

इसके बाद एक साफ इंस्टॉल करने की सलाह दी जाती है।

10

जब मैं Build -> Make Project किया मैं एक ही "नहीं मिल सकता है प्रतीक" त्रुटि हो रही थी। मैंने अपने मेवेन /target फ़ोल्डर को हटाकर, मेरे प्रोजेक्ट मॉड्यूल पर राइट क्लिक करके Maven -> Reimport कर और Build -> Rebuild Project कर इसे ठीक करके तय किया। यह IntelliJ आइडिया 13.1.5 पर था।

यह पता चला है कि Maven -> Reimport कुंजी थी, क्योंकि समस्या ने आखिरकार ऐसा करने से पहले कुछ बार फिर से जीवित किया।

+2

मुझे यह समस्या थी लेकिन 'मेवेन -> रीमपोर्ट' के बाद हर त्रुटि गायब हो गई। धन्यवाद! – nicolimo86

-1

मुझे पता है कि यह पुराना है, लेकिन किसी और के लिए, सुनिश्चित करें कि जो कक्षा गुम है वह उसी पैकेज में है जहां आपको त्रुटि मिलती है/जहां से आप इसे कॉल करते हैं।

+0

डाउनवॉटेड, क्योंकि कक्षाओं को अन्य पैकेजों से आयात किया जा सकता है। आम तौर पर, लक्ष्य वर्ग आयात किया जाना चाहिए और कक्षा में; मेवेन का उपयोग करते समय, निर्भरता सही ढंग से सेट की जानी चाहिए। – fxnn

8

मैं एक ही समस्या थी और फ़ाइल पर क्लिक करके इसे तय> अमान्य कैश/पुनः आरंभ

0

चूंकि यह गूगल पर पहली हिट "IntelliJ प्रतीक नहीं मिल सकता" त्रुटि के लिए खोज है, मैं अपने समाधान में वाला फेंक कर रहा हूँ भी।

मेरे लिए समस्या यह थी कि मेरी परियोजना ग्रहण से उत्पन्न हुई थी, और कुछ फ़ाइलों में src/generated-sources में pom.xml में विनिर्देशों द्वारा उत्पन्न कक्षाओं पर निर्भरता थी। किसी कारण से, जब मैंने पहली बार प्रोजेक्ट खोला था और पुनर्निर्माण/पुन: आयात करने में मदद नहीं की थी, तो यह ठीक से निष्पादित नहीं किया गया था, इसलिए फाइलें कभी उत्पन्न नहीं हुई थीं।

समाधान मॉड्यूल पर राइट-क्लिक करना था, और Maven -> Generate Sources and Update Folders का चयन करें जो इस मुद्दे को हल करता है और मैं संकलित कर सकता हूं।

0

सुनिश्चित करें कि जावा क्लास की स्रोत फ़ाइल जिसे आप संदर्भित करने का प्रयास कर रहे हैं, में .java एक्सटेंशन है। यह मेरे मामले में .aj था (इसे बनाने के दौरान मुझे "वर्ग बनाएं" के बजाय "पहलू बनाएं" मारा होगा)। IntelliJ इस फ़ाइल के लिए "सामान्य" वर्ग के लिए एक ही आइकन दिखाता है, लेकिन निर्माण करते समय संकलक इसे नहीं देखता है।

.aj से .java बदलकर मेरे मामले में इसे ठीक किया गया।

22

करें बनाएँ-> पुनर्निर्माण परियोजना का समाधान होगा यह

0

कभी कभी वर्ग आप चाहते हैं test स्रोत निर्देशिका में है। मेरे साथ हुआ, वैसे भी ...

0

मुझे भी यही समस्या थी। मेरे लिए क्या हल किया गया था कि मैंने आउटपुट फ़ोल्डर हटा दिया (बाहर, मेरे मामले में) और परियोजना का निर्माण किया। इस मुद्दे को ठीक किया गया।