Numele fișierului de clasă trebuie să se termine cu excepția .class în Java Search

Speram ca cineva să mă poată ajuta cu o problemă pe care o folosesc folosind funcția de căutare java în Eclipse pentru un anumit proiect.

Când folosesc căutarea java pe un anumit proiect, primesc un mesaj de eroare spunând că numele fișierului de clasă trebuie să se termine cu .class (a se vedea următorul traseu de mai jos). Acest lucru nu pare să se întâmple pe toate proiectele, doar unul particular, deci poate că ar trebui să încerc ceva să fiu reconstruit?

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

Singura referință pe care am găsit-o pe Google pentru această problemă este la http://www.crazysquirrel.com/computing/java/eclipse/error-during-java-search.jspx , dar din păcate soluția sa (închiderea, ștergerea fișierelor de clasă, repornirea) nu a funcționat pentru mine.

Dacă cineva poate sugera ceva pentru a încerca, sau mai sunt informații pe care le pot aduna care ar putea ajuta la urmărirea în jos, aș aprecia foarte mult indicii.

Version: 3.4.0
Build id: I20080617-2000

De asemenea, tocmai a găsit acest subiect - http://www.myeclipseide.com/PNphpBB2-viewtopic -t-20067.html - care indică faptul că aceeași problemă poate apărea atunci când numele proiectului conține o perioadă. Din păcate, nu este cazul în configurația mea, așa că sunt încă blocat.

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)

Mulțumită lui McDowell, închiderea și deschiderea proiectului pare să fi stabilit-o (cel puțin pentru moment).

0
fr hi bn
Poate că există o problemă cu calea de clasă? Are proiectul dvs. referință la orice alte proiecte sau dacă aveți o clasă externă sau borcane pe care vă depindeți?
adăugat autor Sam Merrell, sursa

4 răspunsuri

Alte două mecanisme cu scop general de fixare a unor idiosincrazii ale Eclipse:

  • Închideți și deschideți proiectul
  • Ștergeți proiectul (dar nu din disc!) și reimportați-l ca un proiect existent

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

Dacă spațiul de lucru cachează ceva deteriorat, este posibil să îl ștergeți prin încercarea în workspace / .metadata / .plugins . Cele mai multe dintre aceste lucruri sunt destul de tranzitorii (deși backup și ceas pentru preferințele șterse).

0
adăugat
Închide și deschis a lucrat și pentru mine. Anterior am încercat proiectul | Curățați ... pe întreg spațiul de lucru, dar asta nu rezolvă problema. Mă întreb care este proiectul închis și deschis în plus față de curățarea acelui proiect.
adăugat autor Zsolt Török, sursa
Închiderea și redeschiderea proiectelor mele nu m-au ajutat :-( Se pare că închiderea și redeschiderea ajută unii, dar dacă nu, trebuie să urmați sfatul lui Olivier Dagenais
adăugat autor Roel Spilker, sursa

Închiderea proiectelor nu a făcut truc pentru mine. Am început eclipsa cu steagul -clean și asta a funcționat din anumite motive.

0
adăugat
explicație opțiune curată: "dacă este setat la" true ", toate datele stocate în memoria cache utilizate de cadrul OSGi și timpul de execuție al eclipsei vor fi șterse, ceea ce va curăța cache-urile folosite pentru a stoca datele de registru de extensie a dependenței de pachete și date de extensie a eclipsei. eclipsa pentru reinitializarea acestor cache-uri. "
adăugat autor U?ur Güneri, sursa

Doar

  • Închideți proiectul
  • Ștergeți folderul de ieșire manual
  • Deschideți proiectul

(Eclipse 3.5 SR2, Id-ul de construcție: 20100218-1602)

0
adăugat

Comentariul # 9 la bug 269820 explică modul de ștergere a indexului de căutare , care pare a fi soluția la un indice corupt ale cărui simptome sunt îngrozite

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

caseta de mesaje.

Cum să ștergeți indexul de căutare:

  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
adăugat
Minor tipo. 2. Ștergeți .metadata.plugins \ org.eclipse.jdt.core * .index
adăugat autor Jon Strayer, sursa
Acest lucru a lucrat și pentru mine. S-a găsit aici: u.nu/3aqy3 Dar este aceeași procedură. ~ Chris
adăugat autor cimnine, sursa
Acest lucru mi-a ajutat să rezolv eroarea în timp ce căutam (CtrlShiftT)
adăugat autor JodaStephen, sursa
SEO - optimizare, România & Moldova
SEO - optimizare, România & Moldova
120 participanți

Pentru confort, opriți notificările. Parteneri: ciupacabra.com Toate grupurile IT: @Grupuri_IT