Имя файла класса должен заканчиваться .class исключения в Java Поиск

голоса
64

Я надеялся, что кто-то может помочь мне с проблемой, я с помощью функции поиска Java в Eclipse, на конкретный проект.

При использовании поиска Java на одном конкретном проекте, я получаю сообщение об ошибке , говорящее Class file name must end with .class(см стека ниже). Это не кажется, что происходит на всех проектах, только один конкретный один, так что, возможно , есть что - то я должен попытаться получить перестроен?

Я уже пробовал Project -> Clean... и закрытие Eclipse, удаляя все встроенные файлы классов и перезапуска Eclipse , но безрезультатно.

Единственное упоминание я смог найти на 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)

Благодаря Макдауэлл, закрытие и открытие проекта, похоже, закрепилась (по крайней мере на данный момент).

Задан 09/08/2008 в 16:40
источник пользователем
На других языках...                            


6 ответов

голоса
72

Комментарий # 9 бага 269820 объясняет , как удалить поисковый индекс, который , как представляется , решение коррумпированного индекса, симптомы которого являются страшился

Произошла внутренняя ошибка во время: «Элементы фильтрации».
Имя файла класса должен заканчиваться .class

окно сообщения.

Как удалить поисковый индекс:

  1. Закрыть Затмение
  2. Удалить <рабочая область> /. Метаданных / .plugins / org.eclipse.jdt.core / *. Индекс
  3. Удалить <рабочая область> /. Метаданных / .plugins / org.eclipse.jdt.core / savedIndexNames.txt
  4. снова Запустите Eclipse
Ответил 30/04/2009 d 21:04
источник пользователем

голоса
62

Еще два механизма общего назначения для крепления некоторых идиосинкразии в Eclipse:

  • Закройте и откройте проект
  • Удалить проект (но не с диска!) И реимпорт как существующий проект

В противном случае, bugs.eclipse.org может дать ответ.

Если рабочая область кэширует что - то сломано, вы можете удалить его с помощью ковыряться в рабочей области / .metadata / .plugins . Большая часть этого материала довольно переходный (хотя резервное копирование и следить за удаленные предпочтения).

Ответил 09/08/2008 d 17:31
источник пользователем

голоса
7

Получил эту ошибку в другой день. Пробовал удаление всех .class-файлы и ресурсы из моей выходной папки вручную. Не работает. Restarted мой компьютер (WinXP). Не работает. Закрытый мой проект в Eclipse , и снова открыл. Работал!!! Надеется , что это решает проблему чьей там. Поисковые средства и действительно необходимы для Eclipse.

Ответил 20/11/2008 d 13:58
источник пользователем

голоса
5

Я также столкнулся с этим вопросом в последнее время, ниже сценарий работал для меня.

  1. Закрыть Затмение
  2. Удалить <workspace>/.metadata/.plugins/org.eclipse.jdt.core/*.index
  3. Удалить <workspace>/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt
  4. снова Запустите Eclipse
Ответил 03/08/2009 d 05:54
источник пользователем

голоса
3

Закрытие проектов не сделал трюк для меня. Я начал затмевать с -clean флагом и работали по какой-то причине.

Ответил 14/12/2009 d 20:57
источник пользователем

голоса
2

Просто

  • Закрытие проекта
  • Очистить вручную папки вывода (s)
  • Открыть проект

(Eclipse 3.5 SR2, Идентификатор сборки: 20100218-1602)

Ответил 23/03/2011 d 11:11
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more