Frage

Ich hatte gehofft, jemand könnte mir helfen, mit einem problem, das ich habe mit dem java-Suchfunktion in Eclipse auf ein bestimmtes Projekt.

Bei Verwendung der java-Suche auf ein bestimmtes Projekt, bekomme ich eine Fehlermeldung, die besagt Class file name must end with .class (siehe stack-trace unten).Das scheint nicht passiert zu sein auf alle Projekte, die nur eine bestimmte Sache, so vielleicht gibt es etwas, ich sollte versuchen, wieder aufgebaut?

Ich habe bereits versucht Project -> Clean...und Schließen Eclipse, löschen Sie alle integrierten class-Dateien und dem Neustart von Eclipse ohne Erfolg.

Die einzige Referenz, die ich habe finden können, die auf Google für das problem http://www.crazysquirrel.com/computing/java/eclipse/error-during-java-search.jspx, aber leider, seine Lösung (schließen, löschen class-Dateien, Neustart) funktionierte nicht für mich.

Wenn jemand vorschlagen kann, etwas zu versuchen, oder gibt ' s mehr info kann ich sammeln die vielleicht helfen track es unten, ich würde stark schätzen Sie die Hinweise.

Version: 3.4.0
Build id: I20080617-2000

Auch nur diesen thread gefunden - http://www.myeclipseide.com/PNphpBB2-viewtopic-t-20067.html - - gibt das gleiche problem kann auftreten, wenn der Projekt-name einen Punkt enthält.Leider ist das nicht der Fall in meinem setup, so bin ich noch stecken.

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)

Dank McDowell, schließen und öffnen das Projekt scheint behoben haben es (zumindest für jetzt).

War es hilfreich?

Lösung

Zwei weitere general-purpose Mechanismen für die Befestigung einige Eclipse ' s Besonderheiten:

  • Schließen und öffnen Sie das Projekt
  • Löschen Sie das Projekt (nicht aber von der Festplatte!) und importieren Sie es wie ein vorhandenes Projekt

Gelingt das nicht, bugs.eclipse.org vielleicht liefern die Antwort.

Wenn der Arbeitsbereich Zwischenspeicherung ist etwas kaputt, können Sie es löschen, indem Sie stochern in workspace/.Metadaten/.plugins.Das meiste von dem Zeug ist ziemlich Transienten (obwohl backup und beobachten Sie die Einstellungen gelöscht).

Andere Tipps

Kommentar #9 Fehler 269820 erklärt, wie löschen Sie die search-index, was zu sein scheint die Lösung zu einer korrupten index, deren Symptome der gefürchteten

Ein interner Fehler ist aufgetreten während:"Elemente filtern".
Klasse Datei-name muss mit .Klasse

Nachricht box.

So löschen Sie die Suche index:

  1. Schließen Sie Eclipse
  2. Löschen <workspace>/.Metadaten/.plugins/org.eclipse.jdt.core/*.index
  3. Löschen <workspace>/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt
  4. Starten Sie Eclipse erneut

Habe diesen Fehler auf den anderen Tag.Versucht zu löschen die alle .class-Dateien und Ressourcen aus meiner Ausgabe-Ordner manuell.Hat nicht funktioniert.Meinen computer neu gestartet (WinXP).Hat nicht funktioniert.Geschlossen mein Projekt in Eclipse und öffnete Sie wieder. Hat funktioniert!!! Hoffnung dieser löst someones problem gibt.Die Suche nach Einrichtungen und wirklich wichtig zu Eclipse.

Ich begegnete auch dieses Problem vor kurzem, die unter Szenario für mich gearbeitet.

  1. Schließen Sie Eclipse
  2. Löschen <workspace>/.metadata/.plugins/org.eclipse.jdt.core/*.index
  3. Löschen <workspace>/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt
  4. Starten Sie Eclipse erneut

Schließen der Projekte nicht den trick tun für mich.Ich begann eclipse mit dem-clean-flag und arbeitete für einige Grund.

Nur

  • Projekt schließen
  • Klar, manuell, Ausgabe-Ordner(s)
  • Projekt öffnen

(Eclipse 3.5 SR2, Build-id:20100218-1602)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top