Classe de nome de arquivo deve terminar com .classe de exceção em Java Pesquisa
Pergunta
Eu estava esperando que alguém poderia me ajudar com um problema que eu estou tendo a usar o java com função de busca no Eclipse em um projeto específico.
Quando utilizar o java pesquisa sobre um determinado projeto, recebo uma mensagem de erro dizendo: Class file name must end with .class
(ver rastreamento de pilha abaixo).Isso não parece estar acontecendo em todos os projetos, apenas uma em particular, por isso, talvez há alguma coisa que eu deveria tentar obter reconstruído?
Eu já tentei Project -> Clean
...e Fechando o Eclipse, a exclusão de todos os construído arquivos de classe e reiniciar o Eclipse, mas sem sucesso.
A única referência que eu tenho sido capaz de encontrar no Google para que o problema é no http://www.crazysquirrel.com/computing/java/eclipse/error-during-java-search.jspx, mas , infelizmente, a sua solução (fechar, excluir arquivos de classe, reiniciar) não funcionou para mim.
Se alguém pode sugerir alguma coisa para tentar, ou há mais alguma informação que eu possa reunir o que pode ajudar a pista para baixo, eu gostaria muito de apreciar os ponteiros.
Version: 3.4.0
Build id: I20080617-2000
Também encontrei esta thread - http://www.myeclipseide.com/PNphpBB2-viewtopic-t-20067.html - o que indica que o mesmo problema pode ocorrer quando o nome do projeto contém um período.Infelizmente, esse não é o caso no meu programa, então, eu ainda estou preso.
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)
Graças McDowell, de fechamento e de abertura do projeto parece ter fixas (pelo menos por agora).
Solução
Mais dois propósitos gerais mecanismos para a fixação de alguns de Eclipse idiossincrasias:
- Feche e abra o projeto
- Excluir o projeto (mas não a partir do disco!) e reimportá-la como um projeto existente
Na sua falta, bugs.eclipse.org pode fornecer a resposta.
Se o espaço de trabalho é o cache de algo quebrado, você pode ser capaz de apagá-lo por bisbilhotando em espaço de trabalho/.metadados/.plugins.Mais do que material é bastante transitória (apesar de que cópia de segurança e relógio para o excluído preferências).
Outras dicas
Comentário #9 de erro 269820 explica como excluir o índice de pesquisa, o que parece ser a solução para um índice danificado, cujos sintomas são a temida
Ocorreu um erro interno durante:"Itens de filtragem".
Classe de nome de arquivo deve terminar com .classe
caixa de mensagem.
Como excluir o índice de pesquisa:
- Feche O Eclipse
- Apagar <workspace>/.metadados/.plugins/org.eclipse.jdt.core/*.índice de
- Apagar <workspace>/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt
- Inicie o Eclipse novamente
Tenho esse erro para o outro dia.Tentou eliminar a todos .classe de arquivos e recursos de minha pasta de saída manualmente.Não funcionou.Reiniciei meu computador (WinXP).Não funcionou.Fechado o meu projeto no Eclipse e abriu-a novamente. Trabalhou!!! Espera que isso resolve o problema de alguém lá fora.As instalações de pesquisa e verdadeiramente essencial para o Eclipse.
Eu também encontrou esse problema recentemente, o cenário abaixo trabalhou para mim.
- Feche O Eclipse
- Apagar
<workspace>/.metadata/.plugins/org.eclipse.jdt.core/*.index
- Apagar
<workspace>/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt
- Inicie o Eclipse novamente
Fechando os projetos não fazer o truque para mim.Eu comecei eclipse com a limpar sinalizador e que trabalhou por algum motivo.
Apenas
- Encerrar o projeto
- Limpar manualmente a pasta de saída(s)
- Abrir projeto
(O Eclipse 3.5 SR2, Construir id:20100218-1602)