2009-07-22 7 views
13

¿Cómo puedo hacer que eclipse reconstruya la base de datos de las clases contenidas dentro de un proyecto o espacio de trabajo? Esto es lo que utiliza para hacer que la acción del menú "Referencias" funcione, lo que utiliza para el diálogo "Agregar importación", etc. Básicamente, es parte de la utilidad principal de Eclipse. Y ahora, solo funciona para tal vez el 5% de mi proyecto.Fix Eclipse java hace referencia a la corrupción de la base de datos?

He tropezado con este problema varias veces: algo sucede con Eclipse, ya sea a través de un OutOfMemoryError porque abrí un archivo enorme, o porque un espacio de trabajo simplemente tiene meses de duro uso.

En este momento, estoy usando Eclipse Galileo en Win32. Sin embargo, he tenido este problema en MacOS y en Europa y Ganimedes.

En el pasado, he destrozado mi espacio de trabajo y comencé de nuevo, pero hoy no es una opción. Mi última copia de seguridad del espacio de trabajo es del viernes pasado, pero eso todavía significa horas de trabajo en la restauración. Seguramente debe haber otra opción?

EDIT: he utilizado eclipse -clean y he reconstruido mi proyecto. Este es un problema de corrupción en algún lugar del eclipse, no en mi proyecto.

Respuesta

2

Esto funcionó:

  • preferencias de exportación de su espacio de trabajo actual (Archivo-> Exportar-> General-> Preferencias)
  • interruptor espacios de trabajo para un nuevo espacio de trabajo
  • preferencias de importación en el espacio de trabajo actual
  • Importe su proyecto anterior en el nuevo espacio de trabajo (Archivo-> Importar-> General-> Proyectos existentes en el área de trabajo), eligiendo "Copiar proyecto"

Eso funciona para obtener el DB de referencias corregido. Para hacer que SVN (y presumiblemente CVS) funcione de nuevo:

  • Haga clic derecho en el proyecto, elija Equipo, elija "Compartir proyecto". Elija el tipo de repositorio de versiones que estaba utilizando y haga clic en siguiente. Eclipse debería darse cuenta de que su proyecto ya estaba configurado para esto y simplemente hacer que haga clic en Finalizar.
  • Actualice sus fuentes con el repositorio.
+0

Buen procedimiento. Gracias por los comentarios. +1 – VonC

0

Sugeriría ejecutar Project> Clean ... en el proyecto. Esto debería provocar una compilación competitiva del proyecto.

+0

Desafortunadamente, esto parece no tener ningún efecto :( – lucasmo

0

Puede comenzar tratando de eliminar su proyecto (sin eliminar las fuentes del curso, solo los metadatos asociados a él).

A continuación, volver a importar su proyecto en su espacio de trabajo (ya que el .classpath y .project todavía están en su disco duro)

De esta manera, el espacio de trabajo todo no se ve afectada, sólo la parte relativa el proyecto actual.

+0

El proyecto se comprueba mediante SVN (utilizando el complemento subversivo), por lo que eliminar los metadatos hace que eclipse 'olvide' que era de un repositorio de subversión. Esto es lo que estoy intentando para evitarlo, porque el proceso de compra demora cerca de dos horas. Si hay una manera de eliminar todos los metadatos que no sean svn, estaría de acuerdo. – lucasmo

0

a) dejar de fumar Eclipse

b) eliminar todos sus proyectos carpetas bin/diana (por ejemplo, con línea de comandos)

#starting from current folder (".") search for folders 
# ("-type d") with name (-iname) "target" or "bin" 
# feed this to xargs which calls 
# rm -rf (remove recursive "-r" and force "-f") 
# with the results from find 

find . -iname "target" -type d | xargs rm -rf 

o

find . -iname "bin" -type d | xargs rm -rf 

c) Reinicie eclipsar

Normalmente NO es necesario eliminar ningún proyecto del espacio de trabajo o eliminar .classpath o .setti ng!

d) limpia todos los proyectos

1

Cuando esto sucede normalmente tienen que eliminar los proyectos del área de trabajo, vaya a la línea de comandos y rm-rf .settings .profile .classpath y luego volver a importar los proyectos de vuelta. A veces Tengo que eliminar el directorio de metadatos (lo que significa que tengo que volver a instalar algunos de mis complementos). Todavía tengo que encontrar una solución real para esto. Limpiar el proyecto no ayuda en nada.

No debe tener que hacer "horas de restauración" si elimina los archivos .settings .profile y .classpath. Solo necesita volver a importar los proyectos después de eliminarlos del área de trabajo. Si bien es una molestia, no debería demorar más de 5 a 10 minutos.

34

Primera salida Eclipse. A continuación, en el directorio del área de trabajo, elimine el directorio .metadata/.plugins/org.eclipse.jdt.core/. La próxima vez que inicie Eclipse, reconstruirá todos sus índices internos. A menudo, la limpieza de los proyectos no obliga a reconstruir todos los metadatos.

+0

Buen punto, tuve olvidado de ese directorio. +1 – VonC

+1

Tuve que reiniciar Kepler dos veces. – Basilevs

+1

[error Eclipse 108749] (https://bugs.eclipse.org/bugs/show_bug.cgi?id=108749) es anterior a esta pregunta por 4 años y muestra que esta es la mejor solución. No entiendo por qué Project-> Clean no ** limpia ** el índice. – willkil

7

Si solo se trata de un proyecto, recuerdo que simplemente puede cerrar el proyecto (es decir, Proyecto -> Cerrar proyecto) y luego volver a abrirlo (Proyecto -> Abrir proyecto). Ni siquiera debería necesitar reiniciar Eclipse.

+1

Esto parece funcionar la mitad de las veces. Gracias, es un ahorro de tiempo real cuando funciona. – lucasmo

0

Para mí fue un filtro ... Presionando CTRL + G en Windows Eclipse Luna teniendo 'Partidas potenciales' en realidad CHECKED hizo que el problema desapareciera.

Como la búsqueda de un método clear() devolvería todo tipo de resultados diferentes.

Cuestiones relacionadas