क्लास फ़ाइल नाम जावा खोज में .class अपवाद के साथ समाप्त होना चाहिए

मैं उम्मीद कर रहा था कि कोई व्यक्ति किसी समस्या के साथ मेरी मदद कर सकता है जिसे मैं किसी विशेष परियोजना पर ग्रहण में जावा खोज फ़ंक्शन का उपयोग कर रहा हूं।

एक विशेष प्रोजेक्ट पर जावा खोज का उपयोग करते समय, मुझे एक त्रुटि संदेश मिलता है जिसमें क्लास फ़ाइल का नाम .class के साथ समाप्त होना चाहिए (नीचे स्टैक ट्रेस देखें)। ऐसा लगता है कि यह सभी परियोजनाओं पर नहीं हो रहा है, सिर्फ एक विशेष व्यक्ति है, तो शायद कुछ ऐसा है जो मुझे पुनर्निर्मित करने की कोशिश करनी चाहिए?

I have already tried Project -> Clean... and Closing Eclipse, deleting all the built class files and restarting Eclipse to no avail.

समस्या के लिए Google पर खोजने का एकमात्र संदर्भ http://www.crazysquirrel.com/computing/java/eclipse/error-during-java-search.jspx , लेकिन दुर्भाग्यवश उसका समाधान (बंद करना, कक्षा फ़ाइलों को हटाने, पुनरारंभ करना) काम नहीं किया मेरे लिए।

अगर कोई कोशिश करने के लिए कुछ सुझाव दे सकता है, या कोई और जानकारी है जो मैं इकट्ठा कर सकता हूं जो इसे ट्रैक करने में मदद कर सकता है, तो मैं पॉइंटर्स की बहुत सराहना करता हूं।

Version: 3.4.0
Build id: I20080617-2000

इसके अलावा यह धागा भी मिला - http://www.myeclipseide.com/PNphpBB2-viewtopic -t-20067.html - जो इंगित करता है कि एक ही समस्या तब हो सकती है जब प्रोजेक्ट नाम में कोई अवधि हो। दुर्भाग्यवश, यह मेरे सेटअप में मामला नहीं है, इसलिए मैं अभी भी अटक गया हूं।

Caused by: java.lang.IllegalArgumentException: Class file name must end with .class
at org.eclipse.jdt.internal.core.PackageFragment.getClassFile(PackageFragment.java:182)
at org.eclipse.jdt.internal.core.util.HandleFactory.createOpenable(HandleFactory.java:109)
at org.eclipse.jdt.internal.core.search.matching.MatchLocator.locateMatches(MatchLocator.java:1177)
at org.eclipse.jdt.internal.core.search.JavaSearchParticipant.locateMatches(JavaSearchParticipant.java:94)
at org.eclipse.jdt.internal.core.search.BasicSearchEngine.findMatches(BasicSearchEngine.java:223)
at org.eclipse.jdt.internal.core.search.BasicSearchEngine.search(BasicSearchEngine.java:506)
at org.eclipse.jdt.core.search.SearchEngine.search(SearchEngine.java:551)
at org.eclipse.jdt.internal.corext.refactoring.RefactoringSearchEngine.internalSearch(RefactoringSearchEngine.java:142)
at org.eclipse.jdt.internal.corext.refactoring.RefactoringSearchEngine.search(RefactoringSearchEngine.java:129)
at org.eclipse.jdt.internal.corext.refactoring.rename.RenameTypeProcessor.initializeReferences(RenameTypeProcessor.java:594)
at org.eclipse.jdt.internal.corext.refactoring.rename.RenameTypeProcessor.doCheckFinalConditions(RenameTypeProcessor.java:522)
at org.eclipse.jdt.internal.corext.refactoring.rename.JavaRenameProcessor.checkFinalConditions(JavaRenameProcessor.java:45)
at org.eclipse.ltk.core.refactoring.participants.ProcessorBasedRefactoring.checkFinalConditions(ProcessorBasedRefactoring.java:225)
at org.eclipse.ltk.core.refactoring.Refactoring.checkAllConditions(Refactoring.java:160)
at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper$Operation.run(RefactoringExecutionHelper.java:77)
at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:709)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1800)
at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4650)
at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:92)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)

धन्यवाद मैकडॉवेल, प्रोजेक्ट को बंद करना और खोलना प्रतीत होता है (कम से कम अभी के लिए)।

0
ro fr bn
शायद कक्षापथ के साथ कोई मुद्दा है? क्या आपकी परियोजना किसी अन्य परियोजनाओं का संदर्भ देती है या आपके पास बाहरी कक्षाएं या जार हैं जिन पर आप निर्भर हैं?
जोड़ा लेखक Sam Merrell, स्रोत

4 उत्तर

ग्रहण की कुछ idiosyncrasies को ठीक करने के लिए दो और सामान्य उद्देश्य तंत्र:

  • प्रोजेक्ट को बंद करें और खोलें
  • प्रोजेक्ट हटाएं (लेकिन डिस्क से नहीं!) और इसे एक मौजूदा प्रोजेक्ट के रूप में पुनः आयात करें

Failing that, bugs.eclipse.org might provide the answer.

यदि वर्कस्पेस कुछ टूटा हुआ कैशिंग है, तो आप इसे वर्कस्पेस / .metadata / .plugins में चारों ओर पोक करके हटा सकते हैं। उस सामान में से अधिकांश काफी क्षणिक है (हालांकि हटाए गए वरीयताओं के लिए बैकअप और घड़ी)।

0
जोड़ा
बंद करो और मेरे लिए भी काम खुला है। पहले मैंने परियोजना की कोशिश की स्वच्छ ... पूरे कार्यक्षेत्र पर, लेकिन इससे समस्या ठीक नहीं हुई। मैं सोच रहा हूं कि परियोजना को साफ करने के अलावा परियोजना बंद और खुली है।
जोड़ा लेखक Zsolt Török, स्रोत
मेरी परियोजनाओं को बंद करने और फिर से खोलने से मेरी मदद नहीं हुई :-( ऐसा लगता है कि कुछ बंद करने और फिर से खोलने में मदद मिलती है, लेकिन यदि ऐसा नहीं होता है, तो आपको ओलिवियर डगेनेइस द्वारा सलाह का पालन करना होगा
जोड़ा लेखक Roel Spilker, स्रोत

परियोजनाओं को बंद करने से मेरे लिए चाल नहीं हुई। मैंने स्क्वायर फ्लैग के साथ ग्रहण शुरू किया और कुछ कारणों से काम किया।

0
जोड़ा
स्वच्छ विकल्प स्पष्टीकरण:। वाइप हो जाएगा सच ", किसी भी संचित डेटा OSGi ढांचे द्वारा इस्तेमाल किया और क्रम ग्रहण" यदि करने के लिए सेट "यह बंडल निर्भरता संकल्प की दुकान और विस्तार रजिस्ट्री डेटा ग्रहण करने के लिए इस्तेमाल कैश साफ होगा इस विकल्प के उपयोग के लिए बाध्य करेगा। इन कैश reinitialize करने के लिए ग्रहण। "
जोड़ा लेखक U?ur Güneri, स्रोत

केवल

  • परियोजना बंद करें
  • मैन्युअल रूप से आउटपुट फ़ोल्डर साफ़ करें
  • प्रोजेक्ट खोलें

(ग्रहण 3.5 एसआर 2, बिल्ड आईडी: 20100218-1602)

0
जोड़ा

टिप्पणी # 9 बग 269820 तक बताती है कि खोज अनुक्रमणिका को कैसे हटाएं , जो एक भ्रष्ट सूचकांक का समाधान प्रतीत होता है जिसका लक्षण भयभीत है

An internal error occurred during: "Items filtering".
Class file name must end with .class

संदेश पात्र।

खोज सूचकांक को कैसे हटाएं:

  1. Close Eclipse
  2. Delete /.metadata/.plugins/org.eclipse.jdt.core/*.index
  3. Delete /.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt
  4. Start Eclipse again
0
जोड़ा
मामूली टाइपो। 2. हटाएं <�वर्कस्पेस> .metadata.plugins \ org.eclipse.jdt.core * .index
जोड़ा लेखक Jon Strayer, स्रोत
यह भी मेरे लिए काम किया। इसे यहां मिला: u.nu/3aqy3 लेकिन यह वही प्रक्रिया है। ~ क्रिस
जोड़ा लेखक cimnine, स्रोत
यह खोज के दौरान त्रुटि को ठीक करने के लिए मेरे लिए काम किया (CtrlShiftT)
जोड़ा लेखक JodaStephen, स्रोत