En Eclipse, ¿qué puede causar el icono de error “red-x” del Explorador de paquetes cuando todas las fuentes de Java se compilan sin errores?

94

Estoy usando Eclipse para el desarrollo de Java. Todas mis fuentes se compilan bien y la aplicación resultante se compila bien. Sin embargo, sigo recibiendo una notificación de error "red-x" en el Explorador de paquetes.

Todas mis fuentes en este directorio de fuentes (demasiado largas para la instantánea) se compilan bien, ninguna muestra el icono de error "red-x".

Cualquier sugerencia sobre cómo solucionar el problema será muy apreciada.

Alfred B. Thordarson
fuente

Respuestas:

167

sí, esto sucede a veces sin motivo aparente. Puede ir a la pestaña "Problemas" (junto a la salida de la consola) y ver el mensaje de error, por lo que tal vez pueda reducirlo de esa manera.

Jan Gressmann
fuente
6
Lo obtengo específicamente cuando otro componente que no es de Java falla en la validación (un buen ejemplo sería un archivo XML, como Spring o Maven).
Spencer Kormos
2
si puede ver algún problema en la vista de problemas, es una razón aparente. Todavía no he visto ningún error sin razón aparente :)
nanda
Agregando a la respuesta de jan-gressman. A veces, cuando busca en la pestaña "Problemas", encontrará que el problema son archivos adicionales con un guión bajo en algunas carpetas, por ejemplo, __duplicatefile.java. Para solucionar este problema, haga clic con el botón derecho en el proyecto y seleccione: Mostrar en> Navegador. Luego, elimine los archivos duplicados con subrayado y cree su proyecto.
GraSim
3
También me encuentro con esto, a menudo. Para mí, se trata de cambios manuales en mi archivo POM cuando utilizo Eclipse & Maven y la línea de comando (mvn) indistintamente. Para solucionarlo: use la pestaña Problemas para diagnosticar como se indicó anteriormente, y si es el POM el que no está sincronizado, puede "Actualizar proyecto" con Maven en Eclipse: "Haga clic derecho" en el proyecto en el Explorador de paquetes, seleccione "Maven ", Seleccione" Actualizar proyecto ". Asegúrese de que "Actualizar la configuración del proyecto desde pom.xml", "Actualizar el espacio de trabajo ..." y "Limpiar proyectos" estén seleccionados.
Zack Jannsen
Buen consejo para mirar problemas. Mi proyecto necesitaba una actualización.
Downeyt
16

Esto sucede a menudo cuando uso Maven, y siempre lo había ignorado hasta que encontré esta pregunta. Necesita actualizar el proyecto en este caso (descubrí esto mirando en el panel Problemas)

Desde el menú contextual del proyecto: Maven -> Actualizar proyecto y seleccione las bases de código de maven disponibles

Alternativamente, puede usar (Alt + F5) para abrir la misma ventana

Patrick Schaefer
fuente
1
Incluso cuando llego al proyecto de actualización, no me resuelve el problema. En la pestaña de problemas, obtengo 100 errores que muestran indefinido / no inicializado / no se puede resolver en un tipo ... Alguna idea de cómo deshacerse de esto realmente rápido
Eswar
11

Intente limpiar el proyecto y reconstruirlo.

destello
fuente
6

Después de construir. Actualice el proyecto y, si aún persiste, haga clic con el botón derecho en la pestaña Problemas en eclipse y elija eliminar todo.

A menudo sucede si instala maven y los archivos de propiedades de eclipse no se actualizan correctamente. Aunque su proyecto no tenga errores. ¡Ojalá!

AaMng
fuente
Haga clic con el botón derecho en el área de la pestaña Problemas y seleccione "Eliminar". ¡Eso es lo que necesitaba escuchar!
Gabriel Staples
5

Quiero comenzar agradeciendo a todos los que respondieron. Pero limpiar y reconstruir no fue suficiente en mi caso porque el problema seguía ahí y necesitaba ser arreglado.

Resultó que uno de mis directorios de paquetes se había copiado accidentalmente, por lo que ahora existía un directorio adicional llamado "Copia de dagskra" que contiene archivos Java con declaraciones de paquetes incorrectas. Además, los errores en este directorio "nuevo" no aparecen con una "x roja" en el paquete en el que existe:

Instantánea del Explorador de paquetes que muestra el error "Copia de dagskra" directoryr http://www.freeimagehosting.net/uploads/a824304b18.png

Fue el indicio de leer la pestaña "Problemas" :-) lo que me llevó en la dirección correcta, así que selecciono esa respuesta como la respuesta aceptada porque esto es lo que necesitaba:

Instantánea de la pestaña Problemas http://www.freeimagehosting.net/uploads/dea26d5dd0.png

Esperando que esto ayude a otros ...

Alfred B. Thordarson
fuente
2

Entonces, al descubrir que podría faltar un paquete en la ruta de compilación, por lo tanto, la x roja contra el proyecto principal, para eliminar esto:

1) vaya a "Configure Buildpath" del proyecto 2) Java Build Path -> Pestaña Fuente - debería ver la x roja junto al paquete / archivo que falta. si ya no existe, simplemente "elimínelo".

¡X roja, vete! :)


fuente
1

A veces, hay errores de ruta de compilación en .project y es necesario cambiar a la vista de recursos para ver realmente el archivo que está causando el error.

JeeBee
fuente
1

Tuve el mismo problema y los pasos siguientes resolvieron el problema:

  1. Elimine el JRE de PROYECTO> propiedades> ruta de compilación java> bibliotecas.

  2. Reinicia el eclipse

  3. Agregue el JRE nuevamente

  4. Reconstruya el proyecto usando Proyecto> Limpiar y elija la opción para construir automáticamente.

Por favor, inténtalo.

sun2
fuente
Esta pregunta tiene casi cuatro años, ya ha sido respondida, y esta es una respuesta duplicada. Solo publique información nueva si es probable que ayude al autor de la pregunta.
Sam
Perdón por la confusión, sin embargo, de la forma en que lo veo, he intentado publicar una nueva respuesta, no duplicada.
dom2
Estoy aquí con el mismo problema el 28/01/18. sigue siendo bueno proporcionar respuestas independientemente de la antigüedad de la pregunta.
Tadele Ayelegn
1

En ocasiones, la subversión también es la culpable de esto. Puede que no tenga nada que ver con su entorno. Sin embargo, puede haber una discrepancia entre el estado actual y local del proyecto. En mi caso, hacer una actualización y luego un compromiso con el servidor de subversión me proporcionó el resultado limpio esperado sin ninguna marca en el proyecto, como la X.

Jay Snayder
fuente
Veo que los complementos de SVN para eclipse no son muy estables. Sigo teniendo problemas con ellos. Les eché la culpa (sin tener ni idea, solo una corazonada). Lo que propusiste funcionó para mí +1.
Pantelis Natsiavas
0

Intente hacer una reconstrucción. Descubrí que las x rojas no siempre desaparecen hasta que se realiza una reconstrucción.

mdec
fuente
0

Me he encontrado con un problema similar muchas veces, lo que generalmente me sucede es que un archivo java dirá que no se compilará en el editor de texto, pero en el explorador de paquetes dirá que se está compilando bien.

A veces, hacer una 'reconstrucción' o 'construcción limpia' no funciona, los archivos en realidad no se compilan (uno tiene que suponer que eclipse cree que los archivos que tiene están actualizados) y cuando esto sucede, generalmente abro la ruta de compilación de Java y simplemente mueva una de mis dependencias hacia abajo / hacia arriba en el orden jerárquico. Esto obliga a eclipse a hacer una reconstrucción de todo y siempre parece funcionar.

Si todavía tiene problemas, intente copiar el proyecto y ver si obtiene el mismo comportamiento y, en un último intento, publicar un error para el eclipse, puede que tarden un tiempo en solucionarlo, pero al menos sabe que está siendo Escuchó.

Henry B
fuente
0

Para agregar a la respuesta anterior, una forma extrema de "limpiar" su proyecto es eliminarlo (es decir, eliminar su referencia del espacio de trabajo, no eliminar los archivos reales) y luego volver a importarlo.
A veces, ayuda ...

VonC
fuente
0

Como han dicho otros, las referencias de archivos incorrectas en la ruta de compilación suelen ser las culpables.

Por lo general, un archivo .jar que se ha movido / eliminado. Eclipse espera encontrar todo lo referenciado en la ruta de compilación en la ubicación especificada, y se quejará si no es así.

loco
fuente
0

FindBugs también coloca una x roja en los archivos / paquetes para indicar errores de análisis de código estático.

Rahul
fuente
0

He repasado esto. Mi caso fue más complicado. El proyecto se empaquetó bien desde la línea de comandos de Maven.

Un par de cosas que hice. 1. Una clase tiene muchas importaciones que confunden el eclipse. Limpiarlos solucionó parte del problema 2. Un caso fue sobre un Setter, presionando F3 para navegar a ese Setter, aunque eclipse se quejó de que no está allí. Así que simplemente lo reescribí y funcionó bien (incluso para todos los demás Setters)

Todavía estoy luchando con el superconstructor implícito Item () no está definido para el constructor predeterminado. Debe definir un constructor explícito "


fuente
0

También experimento esos misteriosos símbolos de error en los paquetes de vez en cuando. Una forma de deshacerme de ellos que me funciona es eliminar efectivamente la biblioteca del sistema JRE de Java Build Path y agregarla nuevamente.

greiball
fuente
el interrogador preguntó por la causa, proporcionó una solución alternativa
johannes
0

Mi solución que finalmente funcionó fue limpiar todos los proyectos, cerrar eclipse, limpiar todos los proyectos, cerrar eclipse, y así sucesivamente al menos 5-6 veces. Eventualmente todo se calmó y todo fue como se esperaba. ¡¡Lo más raro de todos !!

Y no, no hubo errores en la vista Problema o consola.

También esto sucedió después de una falla en la computadora. La última vez que sucedió, todo mi espacio de trabajo se perdió por completo. Todavía estaba en la computadora, pero cuando intentaba acceder a él, estaba todo en blanco.

Por alguna razón, eclipse realmente maneja mal las fallas de la computadora.

Stephane Grenier
fuente
0

Además, puede actualizar el proyecto haciendo clic en,

Haga clic derecho en el nombre del proyecto -> Seleccionar Maven -> Haga clic derecho -> Actualizar proyecto.

Esto me ayudó.

Gracias.

abhijitcaps
fuente
0

Esto puede ocurrir por varias razones. Si ha cambiado el jdk, la faceta del Proyecto tendrá una X roja junto a ella, mientras que ninguna otra carpeta mostrará un error. Si este es el caso, modifique el jdk que se muestra. Esto sucede en ocasiones en nuestra clase JAX-WS ( HSG

Andreas
fuente
0

Resolví el mío por

  • Cerrar todos los demás proyectos (es decir, opción de proyecto no relacionado)

  • Limpiar y construir

Mi proyecto era Android, y eso fue todo.

Catedral Pillon
fuente
0

Esto sucedió cuando descargué fabric.io en Eclipse Mars, pero reiniciar la computadora resolvió este problema para mí.

Sheraz Ahmad Khilji
fuente
0

En mi caso, lo que resolvió este problema fue simplemente Cerrar Eclipse y abrirlo nuevamente ... Sin embargo, todavía no estoy seguro de por qué sucedió esto o por qué funcionó. Estaba teniendo problemas para limpiar mi proyecto (decía que no podía eliminar cierto archivo) y esto lo resolvió :):

DarkCygnus
fuente
0

Tuve el mismo problema. Revisé la pestaña "Problemas" y no encontré ningún servidor para el proyecto. Definí el servidor. la x roja desapareció

Hao
fuente
0

Puede ir a proyecto-> Buildpath-> Biblioteca

Si hay alguna biblioteca marcada con una X, es decir, [marcada con una cruz] elimínela y vuelva a intentar construirla. Funcionó para mí también/

Anjali
fuente
0

Encontré este problema hoy y encontré este enlace. Seguí como lo mencionó Patrick Schaefer anteriormente y abrí el Diálogo del proyecto Update Maven. Haga clic en mi proyecto de trabajo y seleccione la casilla de verificación "Forzar actualización de instantáneas / versiones" y "Aceptar". Toda la cruz roja desapareció. Espero que esto ayude a alguien en una situación similar.

eshu
fuente
-2

Haga clic derecho en el proyecto con errores, luego en los submenús seleccione: Maven > UpdateProject >

y entonces:

  • Seleccione la casilla de verificación para todos los proyectos dependientes
  • seleccione forzar actualización de instantáneas
  • haga clic en Aceptar.

Esto funcionó para mí ...

meteorito helado
fuente