¿Qué significa el icono de signo de exclamación rojo en Eclipse?

157

¿Qué significa el icono de signo de exclamación rojo en Eclipse? Hay muchos resultados de búsqueda diferentes en Internet sobre "iconos de signos de exclamación rojos" y "decoradores de signos de exclamación rojos" e "iconos de explosión rojos", sin duda porque muchos complementos y herramientas relacionadas con la programación usan iconos de signos de exclamación rojos. Entonces, para ser claros, este es el que quiero decir:

captura de pantalla del icono de signo de exclamación rojo

Aparece como decorador en proyectos en la vista Explorador de paquetes.

En mi caso, el icono desapareció cuando se rellenó una variable de ruta de compilación faltante. Estoy usando MyEclipse 9.0, pero no creo que sea específico de MyEclipse. Otras personas en Internet han informado que tiene que ver con otros problemas, incluidos Subclipse, la .svncarpeta y el movimiento de archivos entre copias de trabajo.

Estallidos
fuente
1
Dado que esto resultó ser un icono estándar de Eclipse: consulte también stackoverflow.com/questions/1561336/…
Aparece el

Respuestas:

182

De acuerdo con la documentación :

Decora proyectos Java y conjuntos de trabajo que contienen errores de ruta de compilación

En la práctica, descubrí que un "error de ruta de compilación" puede deberse a varias razones, dependiendo de qué complementos estén activos. Consulte la vista "Problemas" para obtener más información.

ZoogieZork
fuente
1
Recibí los errores y los eliminé, pero aún veo el ícono rojo. Un poco confuso
vsingh
1
Esto se debió a que la ruta de compilación de los cargadores para Jar externo era diferente a la ubicación de la mina. +1 para información.
Doomsknight
1
La vista "Problemas" no muestra nada en el caso de que sea una falla SVN. Intente eliminar la carpeta .svn de la carpeta ofensiva y actualice si eso sucede.
iono
16
+1 para "Ver la vista de problemas " . En mi caso, no había nada malo con el proyecto comprobado, sino que "faltaba la carpeta de origen requerida: 'target / generate / src / main / java' ". Eso es lo que sucede cuando usa Maven y aún no ha creado el proyecto por primera vez después del pago.
Retenido el
Además, a veces, todavía indica que el JAR está vinculado en la ruta de compilación cuando intenta agregar un JAR de nuevo. Espere unos momentos, debería solucionarlo.
Rishi
17

También enfrenté un problema similar cuando intenté importar el archivo fuente y el archivo JAR de una máquina a otra. El camino del JAR era diferente en la máquina nueva en comparación con la máquina vieja. Lo resolví de la siguiente manera

  1. Haga clic derecho en el "Nombre del proyecto"
  2. Seleccione "Crear ruta"
  3. Luego seleccione "Configurar ruta de compilación"
  4. Haga clic en "Bibliotecas"
  5. Eliminar todas las bibliotecas que se referían a la ruta anterior

Luego, se eliminó el símbolo de exclamación en el "Nombre del proyecto".

yogishaj
fuente
Gracias por tu respuesta. Agradezco su disposición a ayudar, pero esto técnicamente no responde a mi pregunta. Me preguntaba qué significaba el ícono, pero esto solo explica cómo deshacerse de él.
Aparece
16

Significa que hay un problema con la ruta de compilación en su proyecto. Si se trata de un proyecto de Android, significa que no se puede encontrar el valor objetivo especificado en el archivo project.properties. Esto también puede ser causado por otros tipos de problemas construidos. Pero se muestra principalmente solo para problemas construidos. Ver aquí para más detalles. Se trata del decorater de error construido visto en eclipse.

Un extracto de esa página:

Los problemas de ruta de compilación a veces son fáciles de pasar por alto entre otros problemas en un proyecto. Las vistas Package Explorer y Project Explorer ahora muestran un nuevo decorador en proyectos Java y conjuntos de trabajo que contienen errores de ruta de compilación:

ingrese la descripción de la imagen aquí

Los errores concretos se pueden ver en la vista Problemas, y si abre el menú Ver y selecciona Agrupar por> Tipo de problema Java, todos se muestran en la categoría Crear ruta:

ingrese la descripción de la imagen aquí

Vincent Vettukal
fuente
7

Puede haber varias razones. La mayoría de las veces puede ser una de las siguientes razones,

  1. Ha eliminado algunos de los archivos .jar de su carpeta / lib
  2. Has agregado nuevos archivos .jar
  3. ha agregado nuevos archivos .jar que pueden estar en conflicto con otros

Entonces, qué hacer es que tenemos que resolver esos archivos jar faltantes / actualizados / recién agregados.

  1. haga clic derecho en el proyecto y go to properties
  2. Seleccione Java Build Path
  3. ir a la Librariespestaña
  4. Elimine las referencias del archivo jar que ya ha eliminado. Habrá una marca roja cerca de ellos para que pueda identificarlos fácilmente.
  5. Agregue las referencias a los archivos .jar recién agregados utilizando Add JARs
  6. Actualizar el proyecto

Esto resolverá el problema si es porque uno de los motivos anteriores.

principal
fuente
6

Encontré otro escenario en el que podría aparecer el signo de exclamación rojo. Copié un directorio de un proyecto a otro. Este directorio incluía un directorio oculto .svn (el proyecto original se había comprometido con el control de versiones). Cuando verifiqué mi nuevo proyecto en SVN, el directorio copiado todavía contenía la información SVN anterior, identificándose incorrectamente como un elemento en su proyecto original.

Descubrí el problema mirando las Propiedades del directorio, seleccionando Información SVN y revisando la URL del recurso. Solucioné el problema eliminando el directorio .svn oculto para mi directorio copiado y actualizando mi proyecto. El signo de exclamación rojo desapareció y pude registrar el directorio y su contenido correctamente.

Steve Hansen Smythe
fuente
4

Lo que hice fue peculiar, pero de alguna manera solucionó el problema. Elija cualquier proyecto y realice una edición falsa del archivo build.properties (por ejemplo, agregue y elimine un espacio y luego guarde el archivo). Limpia y reconstruye los proyectos en tu espacio de trabajo.

Espero que esto resuelva algunos de tus problemas.

TennFest
fuente
2

Asegúrese de no tener ninguna variable de ruta de clase indefinida (como M2_REPO).

Andrés
fuente
2

Tuve el mismo problema y Andrew tiene razón. Verifique su variable classpath "M2_REPO". Probablemente apunta a una ubicación no válida de su repositorio local de Maven.

En mi caso, estaba usando mvn eclipse:eclipsela línea de comando y este complemento estaba configurando la variable M2_REPO classpath. Eclipse no pudo encontrar mi maven settings.xml en mi directorio de inicio y, como resultado, era incorrectamente la variable M2_REPO classpath. Mi solución fue reiniciar eclipse y recogió mi settings.xml y eliminó la exclamación roja en mis proyectos.

Obtuve más información de este tipo: http://www.mkyong.com/maven/how-to-configure-m2_repo-variable-in-eclipse-ide/

Terence
fuente
2

La solución que funcionó para mí es la siguiente dada por Steve Hansen Smythe. Solo lo estoy pegando aquí. Gracias Steve

"Encontré otro escenario en el que podría aparecer el signo de exclamación rojo. Copié un directorio de un proyecto a otro. Este directorio incluía un directorio oculto .svn (el proyecto original se había comprometido con el control de versiones). Cuando revisé mi nuevo proyecto en SVN, el directorio copiado todavía contenía la información SVN anterior, identificándose incorrectamente como un elemento en su proyecto original.

Descubrí el problema mirando las Propiedades del directorio, seleccionando Información SVN y revisando la URL del recurso. Solucioné el problema eliminando el directorio .svn oculto para mi directorio copiado y actualizando mi proyecto. El signo de exclamación rojo desapareció y pude registrar el directorio y su contenido correctamente ".

usuario1163441
fuente
0

La solución que funcionó para mí es la siguiente.

Seleccioné el proyecto particular> clic derecho> Ruta de compilación> configurar ruta de compilación> Bibliotecas> Noté que la Biblioteca del sistema JRE se mostraba (Sin consolidar) por lo tanto ...

seleccionó esa Biblioteca> haga clic en Eliminar> haga clic en Aplicar> haga clic en agregar Biblioteca> Biblioteca del sistema JRE> siguiente> espacio de trabajo predeterminado JRE> haga clic en Finalizar> Aplicar> ok.

ahora no verá este icono de exclamación en su proyecto.

Naresh Kumar
fuente