java - showoptiondialog - jdialog



Der Name der Klassendatei muss in der Java-Suche mit einer.class-Ausnahme enden (4)

Ich hatte gehofft, dass jemand mir mit einem Problem helfen könnte, das ich die Java-Suchfunktion in Eclipse auf einem bestimmten Projekt benutze.

Wenn ich die Java-Suche für ein bestimmtes Projekt verwende, erhalte ich die Fehlermeldung, dass der Class file name must end with .class (siehe Stack-Trace unten). Dies scheint nicht bei allen Projekten zu passieren, nur bei einem bestimmten, also sollte ich vielleicht etwas versuchen, um es wieder aufzubauen?

Ich habe bereits Project -> Clean ... und Closing Eclipse ausprobiert, alle gebauten Klassendateien gelöscht und Eclipse ohne Erfolg neu gestartet.

Die einzige Referenz, die ich bei Google für das Problem finden konnte, ist http://www.crazysquirrel.com/computing/java/eclipse/error-during-java-search.jspx , aber leider seine Lösung (Schließen, Löschen von Klassendateien, Neustart) funktionierte nicht für mich.

Wenn jemand etwas vorschlagen kann, um es zu versuchen, oder es gibt noch mehr Informationen, die ich sammeln kann, die helfen könnten, es zu verfolgen, würde ich die Hinweise sehr schätzen.

Version: 3.4.0
Build id: I20080617-2000

Auch diesen Thread gefunden - http://www.myeclipseide.com/PNphpBB2-viewtopic-t-20067.html - der angibt, das gleiche Problem kann auftreten, wenn der Projektname einen Punkt enthält. Leider ist das in meinem Setup nicht der Fall, also bin ich immer noch festgefahren.

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)

Danke McDowell, das Schließen und Öffnen des Projekts scheint es (zumindest für jetzt) ​​behoben zu haben.

https://ffff65535.com


Das Schließen der Projekte hat mir nicht geholfen. Ich habe Eclipse mit der -clean-Flagge gestartet und das hat aus irgendeinem Grund funktioniert.


Gerade

  • Projekt schließen
  • Manuelle Ausgabe der Ordner löschen
  • Offenes Projekt

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


Ich bin auch kürzlich auf dieses Problem gestoßen, das folgende Szenario hat für mich funktioniert.

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

Kommentar # 9 zu Bug 269820 erklärt, wie man den Suchindex löscht, der die Lösung für einen korrupten Index zu sein scheint, dessen Symptome gefürchtet sind

Ein interner Fehler ist aufgetreten während: "Items filtering".
Der Name der Klassendatei muss mit .class enden

Nachrichtenbox.

So löschen Sie den Suchindex:

  1. Schließe Eclipse
  2. Löschen Sie <workspace> /. Metadata / .plugins / org.eclipse.jdt.core / *. Index
  3. Löschen Sie <workspace> / .metadata / .plugins / org.eclipse.jdt.core / savedIndexNames.txt
  4. Starte Eclipse erneut




search