Classe de nome de arquivo deve terminar com .classe de exceção em Java Pesquisa

StackOverflow https://stackoverflow.com/questions/6816

  •  08-06-2019
  •  | 
  •  

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).

Foi útil?

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:

  1. Feche O Eclipse
  2. Apagar <workspace>/.metadados/.plugins/org.eclipse.jdt.core/*.índice de
  3. Apagar <workspace>/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt
  4. 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.

  1. Feche O Eclipse
  2. Apagar <workspace>/.metadata/.plugins/org.eclipse.jdt.core/*.index
  3. Apagar <workspace>/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt
  4. 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)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top