El nombre del archivo de clase debe terminar con.excepción de clase en la búsqueda Java


Esperaba que alguien pudiera ayudarme con un problema que estoy teniendo usando la función de búsqueda Java en Eclipse en un proyecto en particular.

Cuando uso la búsqueda java en un proyecto en particular, recibo un mensaje de error que dice Class file name must end with .class (consulte seguimiento de pila a continuación). Esto no parece estar sucediendo en todos los proyectos, solo uno en particular, así que tal vez hay algo que debería tratar de reconstruir?

Ya lo he intentado Project -> Clean... y Cierre Eclipse, eliminando todos los archivos de clase construidos y reiniciar Eclipse en vano.

La única referencia que he podido encontrar en Google para el problema está en http://www.crazysquirrel.com/computing/java/eclipse/error-during-java-search.jspx , pero desafortunadamente su solución (cerrar, eliminar archivos de clase, reiniciar) no funcionó para mí.

Si alguien puede sugerir algo para probar, o hay más información que pueda recopilar que pueda ayudar a rastrear está abajo, apreciaría mucho los consejos.

Version: 3.4.0
Build id: I20080617-2000

También acabo de encontrar este hilo - http://www.myeclipseide.com/PNphpBB2-viewtopic-t-20067.html - que indica que el mismo problema puede ocurrir cuando el nombre del proyecto contiene un punto. Desafortunadamente, ese no es el caso en mi configuración, así que todavía estoy atascado.

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)

Gracias McDowell, cerrar y abrir el proyecto parece haberlo arreglado (al menos por ahora).

Author: Sach, 2008-08-09

6 answers

Dos mecanismos más de propósito general para arreglar algunas de las idiosincrasias de Eclipse:

  • Cerrar y abrir el proyecto
  • Eliminar el proyecto(pero no desde el disco!) y reimportarlo como un proyecto existente

En su defecto, bugs.eclipse.org podría proporcionar la respuesta.

Si el espacio de trabajo está almacenando en caché algo roto, es posible que pueda eliminarlo husmeando en espacio de trabajo/.metadatos/.plugins . La mayoría de esas cosas son bastante transitorias (aunque copia de seguridad y ver las preferencias eliminadas).

 62
Author: McDowell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-09 16:31:32

Comment #9 to bug 269820 explica cómo eliminar el índice de búsqueda, que parece ser la solución a un índice corrupto cuyos síntomas son los temidos

Se produjo un error interno durante: "Filtrado de elementos".
El nombre del archivo de clase debe terminar con .clase

Cuadro de mensaje.

Cómo eliminar el índice de búsqueda:

  1. Cerrar Eclipse
  2. Eliminar /.metadatos/.plugins / org.eclipsar.jdt.núcleo/*.índice
  3. Suprimir /.metadatos/.plugins / org.eclipsar.jdt.core / savedIndexNames.txt
  4. Iniciar Eclipse de nuevo
 72
Author: Olivier Dagenais,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-07-09 17:19:16

Recibió este error el otro día. Intenté borrar todo .class-archivos y recursos de mi carpeta de salida manualmente. No funcionó. Reinicié mi computadora (WinXP). No funcionó. Cerré mi proyecto en Eclipse y lo abrí de nuevo. Funcionó!!! Espera que esto resuelva el problema de alguien por ahí. Las instalaciones de búsqueda y verdaderamente esencial para Eclipse.

 7
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-11-20 12:58:19

También me encontré con este problema recientemente, el siguiente escenario funcionó para mí.

  1. Cerrar Eclipse
  2. Delete <workspace>/.metadata/.plugins/org.eclipse.jdt.core/*.index
  3. Delete <workspace>/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt
  4. Iniciar Eclipse de nuevo
 5
Author: sth,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-08-03 04:58:35

Cerrar los proyectos no me funcionó. Comencé eclipse con la bandera-clean y eso funcionó por alguna razón.

 3
Author: Rick,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-17 17:23:19

Solo

  • Cerrar proyecto
  • Borrar manualmente la(s) carpeta (s) de salida
  • Proyecto abierto

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

 2
Author: LoganMzz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-03-23 10:11:36