He eliminado accidentalmente una .clase (el Java bytecode) archivo en mi proyecto (en el sistema de ficheros, no utilizando Eclipse en sí). Fácil de arreglar, ¿verdad? Acabo de volver a construir. Pero eso no funciona! Incluso si yo seleccione «Crear Proyecto» o «Build All» o «Construir de forma Automática» en el menú «Proyecto», nada de lo que realmente sucede en el sistema de archivos, y todavía se me pone:

Exception in thread "main" java.lang.NoClassDefFoundError

Sólo quiero volver a compilarlo desde el código fuente ya tengo!

Por el camino, cuando elijo «Limpio…» desde el menú «Proyecto», el Eclipse no se elimine todos los archivos. También he tratado de volver a importar el proyecto en una carpeta diferente, pero Eclipse sólo copias de todos los .los archivos de clase y el problema persiste.

Usted puede necesitar para «refrescar» el proyecto para la sincronización de Eclipse ver con lo que está realmente en el sistema de ficheros.
Usted puede eliminar manualmente todo .los archivos de clase (o mejor aún, sólo los puse en otra carpeta), y hacer una reconstrucción. Si eso no funciona, debe haber algo más para que usted se de cuenta (es decir, un vinculados .jar/.dll el archivo en alguna parte que la prevención de la acumulación). Cuando usted hace una compilación limpia, eclipse debe mostrar un «Edificio…», probablemente en la esquina inferior derecha de la IDE. Si hace clic en él, creo que le dará resultados más detallados, y, posiblemente, el punto a donde está el problema.
He intentado refrescante del proyecto y el archivo de origen en cuestión, y eso no ayuda. Yo no puedo conseguir que «la Construcción…», tal vez porque «Limpio» no eliminar todos los archivos (aunque aún debe construir el archivo que se ha eliminado).
Encontré la solución: otro proyecto en el que ese proyecto dependía no podía ser compilado, porque no se podía limpiar, porque Eclipse quería eliminar el .svn directorios a lo largo de ese proyecto (no tengo idea de por qué), y no se porque algunos de los archivos no tienen permiso de escritura. Yo estaba feliz de acabar con todos los .svn datos sólo para conseguir este trabajo! Gracias por la sugerencia.
user690075: puede usted por favor enviar una respuesta a la pregunta a ti mismo y, a continuación, aceptar esa respuesta? También, es necesario aceptar las respuestas a las preguntas anteriores si se soluciona el problema.

OriginalEl autor user690075 | 2011-09-07

5 Comentarios

  1. 6

    El OP respondió a su propia pregunta en los comentarios (2 años y medio):

    Encontrado la solución: otro proyecto en el que ese proyecto dependía no podía ser compilado, porque no se podía limpiar, porque Eclipse quería eliminar el .svn directorios a lo largo de ese proyecto (no tengo idea de por qué), y no se porque algunos de los archivos no tienen permiso de escritura. Yo estaba feliz de acabar con todos los .svn datos sólo para conseguir este trabajo! Gracias por la sugerencia. – user690075 7 Sep ’11 a la 1:25


    En lo que respecta a la recompensa

    Esta cuestión no ha recibido suficiente atención.

    Este problema sigue perdiendo horas de mi tiempo.

    SI el OP respuesta no resuelve el problema, usted debe preguntar a una más pregunta específica sobre un nuevo post, describiendo lo que hemos intentado y cómo el OP de la solución de no resolver el problema específico.

    Que se dice, suponiendo que usted hizo probar la solución que el OP publicado, es posible que un problema diferente (que no fue causada por la eliminación de un archivo de clase) está causando el mismo error. Porque usted comenzó una recompensa por alguien más pregunta y usted no puede obtener su prestigio de nuevo pensé que sería apropiado mencionar que podría ser digno de su tiempo para asegurarse de que su JDK versión(s) son compatibles entre viejos o externo fuente código utilizado en el proyecto. Obtendrá el mismo error NoClassDefFoundError cuando el compilador se llega a un punto en el código que hace referencia a un objeto/clase que se define en una biblioteca que fue desarrollado en un incompatibles JDK, es clave que falta dependencias internas que no se encuentran dentro de su JDK versión.

    Me gustaría entrar en más detalle, pero ya que esta pregunta es específicamente acerca de un error que surgió a partir de la eliminación de un archivo de clase I no siento que es el derecho a hacerlo.

    OriginalEl autor Arthur Weborg

  2. 2

    Hacer una limpieza completa

    1) Encontrar y eliminar la .eclipse carpeta (puede copia de seguridad primero)

    2) Eliminar relacionados con .clase archivos

    3) Si hay cualquier .svn carpetas, eliminarlos, ya sea manualmente o a través de su cliente de svn

    4) no utilizar el auto para construir esto, pero seleccionar manualmente sólo el roto proyecto y hacer un limpio (en el caso de que existan dependencias)

    Si se produce un error, probablemente sea una buena idea para empaquetar sus códigos fuente y volver a importar como un nuevo proyecto. Que puede evitar la pérdida de tiempo en un probable IDE error

    OriginalEl autor George

  3. 2

    En más idiomas tradicionales, los programas se cargan todo a la vez como parte del proceso de inicio. Java no tiene este problema porque tiene un enfoque diferente de la carga. Esta es una de las actividades que se hacen más fácil, porque todo en Java es un objeto. Recuerde que el código compilado para cada clase existe en su propio archivo. Que el archivo no se carga hasta que el código que se necesita. En general, se puede decir que el «código de la clase es cargada en el momento de su primer uso.» Esto es por lo general cuando el primer objeto de esa clase se construye, pero la carga también se produce cuando un campo estático o un método estático que se accede.

    Si Usted no puede restaurar a partir de la historia local. Entonces estás de Suerte. Uso de la Fuente de Control de Gestión Herramientas como SVN o Git para evitar sorpresas tales próxima vez.

    Si usted está teniendo archivo de origen intente compilar el archivo junto con las dependencias solo en consola u otro IDE y copiar ese archivo de clase de dejar que los errores en los errores de editar el archivo de origen en eclipse tratar de construir de nuevo. Esperemos que esto no va a funcionar porque incluso eclipse será el abandono de la Re-compilación de algunos de los archivos, mientras que la construcción del Proyecto. Mejor Darle una oportunidad.

    OriginalEl autor GreenJava

  4. 1

    Usted seguro de que este archivo de origen está en el proyecto de la fuente? Porque Eclipse sólo compilar y poner en tu classpath en ese caso. Haga clic derecho en el proyecto en Explorador de Paquetes, Propiedades -> Java Build Path -> Fuente. El bloque dentro de la carpeta debe estar allí o Eclipse no compilará.

    En el caso de, digamos, este archivo de origen de la suya fue una vez en la fuente y se compiló que podría explicar por qué estaba trabajando hasta el momento de quitarse el binario.

    En orden para este problema de que no ocurra sugiero que Matorral carpetas de salida cuando los proyectos de limpieza de de ser seleccionada en Java -> Compilador -> la Construcción de la y de Construir de forma automática… en en el menú Proyecto.

    También asegúrese de que su proyecto de compilación/compilación se realiza correctamente, de lo contrario Eclipse no puede compilar todas las clases.

    Si aún no ayuda podría ser importante qué tipo de proyecto que usted está teniendo problemas con: Java Project, Proyecto de Maven, Gradle Proyecto, etc.

    OriginalEl autor aljipa

  5. 1

    A la persona que puso el bount, tal vez sólo podría confirmar todos los cambios a lo que nunca repositorio de código que tiene, después de salir de eclispe acaba de borrar todo el área de trabajo, a continuación, crear una nueva área de trabajo y volver a importar todos los archivos en la nueva área de trabajo de su repositorio de código.

    OriginalEl autor mpop

Dejar respuesta

Please enter your comment!
Please enter your name here