2010-05-12 21 views
10

Hoy veo un comportamiento extraño de Eclipse 3.5.2 por primera vez en 3 meses.Eclipse no actualiza los archivos del proyecto en la vista del explorador de paquetes

Primero, cuando ejecuto una función principal, ejecuta una versión previamente compilada. Digamos que presiono Ctrl + F11 en la ventana con una clase java abierta y una función principal existente. Por lo general, reconstruye la clase y ejecuta una nueva versión. Hoy incluso si hubiera un error de compilación, funcionaría bien. Así que supongo que no recompila la clase.

A continuación, más extrañamente, si cometo un error intencionalmente en el código y Eclipse subraya esas líneas en rojo, el Explorador del proyecto aún no las marca como que contienen errores. Permanecen de color gris si no hubo ningún error.

Primero no supe cómo resolver este problema. Traté de volver a abrir el proyecto, reiniciar Eclipse y finalmente reiniciar el sistema operativo. Después del décimo intento, después de reiniciar, Eclipse dijo que todos los archivos del proyecto están "FUERA DE SINC con el sistema de archivos". Cuando presioné "Refrescar" - F5 en el nombre del encabezado de un proyecto en Project Explorer, finalmente marcó todos los archivos con errores que contenían errores y la ejecución de la función principal dio el resultado deseado.

Pasó una hora de mi trabajo y este volvió a ocurrir, con el otro proyecto. Todos iguales. No marca los archivos como rojos, ejecutándose sin importar la versión anterior de la clase sin errores de compilación.

Y dado que Eclipse no dice que los archivos no están sincronizados, simplemente presionando F5 en un proyecto no puede ayudar.

¿Qué puede sugerir?

Respuesta

10

Cuando se selecciona un proyecto en la vista y presione F5 Explorador de proyectos, Eclipse debe recorrer todo el árbol de directorios para el proyecto de comprobar que todos los archivos y directorios de todos sincronizados. Lo hace por mí ...

Lo único que se me ocurre que podría causar que esto no funcione es si tiene anomalías en la marca de tiempo del sistema de archivos. Por ejemplo, si un archivo en el sistema de archivos se actualiza pero la última modificación del archivo muestra que se actualizó en el pasado. Este tipo de cosas pueden ocurrir si el reloj del sistema de su máquina se mueve hacia atrás o hacia adelante en un momento inconveniente. Si cree que esto pudo haber sucedido, intente cerrar todos los proyectos, reiniciar Eclipse y realizar otra actualización de F5.

(me encuentro con la sincronización Eclipse emite una gran cantidad, pero lo atribuyo a una combinación de plugins flakey y haciendo construye desde la línea de comandos. De cualquier F5 o Proyecto> Limpiar por lo general funciona para mí.)

+0

Estoy absolutamente perplejo, pero parece que encontré la raíz del problema. Utilicé algunas bibliotecas compartidas de una carpeta compartida. Se volvió inalcanzable por un tiempo. Simplemente agregué los mismos archivos de la ruta local. esos enlaces no fueron eliminados de la ruta de compilación sin embargo. Tal confusión hace que Eclipse se comporte de la manera que describí. No estoy seguro de que mi problema esté resuelto, pero al menos veo que ahora todos los archivos erróneos están marcados en rojo en el Explorador de proyectos. – EugeneP

+0

* después de eliminar los enlaces inalcanzables a la carpeta compartida desde una ruta de compilación del proyecto * – EugeneP

+0

Hmm ... sí ... eso también lo haría. Eclipse no podría actualizar las copias en caché de esos archivos. Y probablemente estaban en el camino de compilación por delante de las copias locales que hizo. –

8

Es Construir automáticamente? (Menu > Project > Build automatically)

+0

sí, gracias. estaba prendido. – EugeneP

+0

(+1): se encontró con el mismo problema hoy, y adivina qué, no fue seleccionado. No puedo enfatizar cuán importante es publicar soluciones incluso "triviales". – steffen

+1

Abajo el voto para deletrear la misma palabra equivocada de dos maneras diferentes ...? –

2

Me sucedió porque había una dependencia cíclica entre dos proyectos. Cada proyecto tenía al otro en su camino de compilación.

+0

Sí, me pasó a mí (casi 5 años después: /) en el proyecto haciendo referencia a sí mismo en la ruta de compilación. –

0

Solución: Reimport el proyecto

Me sucedió cuando se protege un nuevo archivo de SVN en el explorador. Eclipse no pudo encontrar el nuevo archivo por alguna razón.

He intentado actualizar el proyecto (F5 ) y Project > Clean y construir el proyecto (Project > Build All) ninguno de ellos trabajó para mí.

Así que eliminé el proyecto de la vista Explorador de proyectos (No desde el disco duro). Asegúrese de anular la selección de "Eliminar contenido del proyecto en el disco (no se puede deshacer)" y guarde los cambios no guardados antes de hacer esto.

Ahora reimportar el proyecto utilizando la opción File > Import. Eso debería funcionar en la mayoría de los casos.

Cuestiones relacionadas