O que significa o ícone vermelho do ponto de exclamação no Eclipse?

157

O que significa o ícone vermelho do ponto de exclamação no Eclipse? Existem muitos resultados de pesquisa diferentes na Internet sobre "ícones de ponto de exclamação vermelho" e "decoradores de ponto de exclamação vermelho" e "ícones de red bang", sem dúvida, porque muitos plugins e ferramentas relacionadas à programação usam ícones de ponto de exclamação vermelho. Então, para ficar claro, este é o que eu quero dizer:

captura de tela do ícone vermelho do ponto de exclamação

Ele aparece como um decorador em projetos na visualização Package Explorer.

No meu caso, o ícone desapareceu quando uma variável ausente do caminho de construção foi preenchida. Estou usando o MyEclipse 9.0, mas não acho que isso seja específico ao MyEclipse. Outras pessoas na Internet relataram que isso tem a ver com outros problemas, incluindo o Subclipse, a .svnpasta e a movimentação de arquivos entre cópias de trabalho.

Pops
fonte
1
Como esse acabou sendo um ícone padrão do Eclipse: consulte também stackoverflow.com/questions/1561336/…
Pops

Respostas:

182

De acordo com a documentação :

Decora projetos Java e conjuntos de trabalho que contêm erros de caminho de construção

Na prática, descobri que um "erro de caminho de construção" pode ser causado por vários motivos, dependendo de quais plug-ins estão ativos. Verifique a exibição "Problemas" para obter mais informações.

ZoogieZork
fonte
1
Eu tive o anúncio de erros para removê-los, mas ainda vejo o ícone vermelho. Tipo de confuso
vsingh
1
Isso ocorreu porque os uploaders construíram o caminho para o Jar externo era diferente de onde o meu estava localizado. +1 para informações.
Doomsknight
1
A exibição "Problemas" não mostra nada no caso de ser uma falha SVN. Tente excluir a pasta .svn da pasta incorreta e atualize se isso acontecer.
iono 19/07/12
16
+1 em "Verifique a visualização de problemas " . No meu caso, não havia nada de errado com o projeto verificado, mas o projeto estava "ausente na pasta de origem necessária: 'target / generate / src / main / java' ". É o que acontece quando você usa o Maven e ainda não construiu o projeto pela primeira vez após o checkout.
Retido
Além disso - às vezes, ele ainda afirma que o JAR está vinculado no caminho de construção quando você tenta adicionar um JAR de volta. Aguarde alguns instantes, deve consertá-lo.
Rishi
17

Também enfrentei um problema semelhante ao tentar importar o arquivo de origem e o arquivo JAR de uma máquina para outra. O caminho do JAR era diferente na máquina nova em comparação com a máquina antiga. Eu resolvi isso como abaixo

  1. Clique com o botão direito do mouse em "Nome do projeto"
  2. Selecione "Caminho da construção"
  3. Em seguida, selecione "Configurar caminho de construção"
  4. Clique em "Bibliotecas"
  5. Remova todas as bibliotecas que estavam se referindo ao caminho antigo

Em seguida, o símbolo de exclamação no "nome do projeto" foi removido.

yogishaj
fonte
Obrigado pela sua resposta. Agradeço sua disposição em ajudar, mas isso não responde tecnicamente à minha pergunta. Fiquei me perguntando o que o ícone significava, mas isso apenas explica como se livrar dele.
Pops
16

Isso significa que há um problema com o caminho de construção no seu projeto. Se for um projeto Android, significa principalmente que o valor de destino especificado no arquivo project.properties não pode ser encontrado. Isso também pode ser causado por outros tipos de problemas construídos. Mas é mostrado principalmente para problemas criados. Veja aqui para mais detalhes. Trata-se de um construtor de erros construído, visto no eclipse.

Um extrato dessa página:

Às vezes, é fácil perder os problemas do caminho de construção entre outros problemas em um projeto. As visualizações Package Explorer e Project Explorer agora mostram um novo decorador em projetos Java e conjuntos de trabalho que contêm erros de caminho de construção:

insira a descrição da imagem aqui

Os erros concretos podem ser vistos na visualização Problemas, e se você abrir o menu de visualização e selecionar Agrupar por> Tipo de Problema Java, todos eles aparecerão na categoria Caminho da Construção:

insira a descrição da imagem aqui

Vincent Vettukal
fonte
7

Pode haver várias razões. Na maioria das vezes, podem ser alguns dos motivos abaixo,

  1. Você excluiu alguns dos arquivos .jar da sua pasta / lib
  2. Você adicionou novos arquivos .jar
  3. você adicionou novos arquivos .jar que podem estar em conflito com outras pessoas

Então, o que devemos fazer é resolver os arquivos jar ausentes / atualizados / recém-adicionados.

  1. clique com o botão direito do mouse no projeto e go to properties
  2. Selecione Java Build Path
  3. vá para a Librariesaba
  4. Remova as referências do arquivo jar que você já removeu. Haverá uma marca vermelha perto deles para que você possa identificá-los facilmente.
  5. Adicione as referências aos arquivos .jar recém-adicionados usando Add JARs
  6. Atualize o projeto

Isso resolverá o problema se for por um dos motivos acima.

prime
fonte
6

Encontrei outro cenário em que o ponto de exclamação vermelho pode aparecer. Copiei um diretório de um projeto para outro. Esse diretório incluía um diretório .svn oculto (o projeto original havia sido confirmado no controle de versão). Quando verifiquei meu novo projeto no SVN, o diretório copiado ainda continha as informações antigas do SVN, identificando-se incorretamente como um elemento em seu projeto original.

Eu descobri o problema consultando as propriedades do diretório, selecionando informações sobre o SVN e revisando a URL do recurso. Corrigi o problema excluindo o diretório .svn oculto do meu diretório copiado e atualizando o meu projeto. O ponto de exclamação vermelho desapareceu e pude verificar o diretório e seu conteúdo corretamente.

Steve Hansen Smythe
fonte
4

O que eu fiz foi peculiar, mas de alguma forma resolveu o problema. Escolha qualquer projeto e execute uma edição falsa do arquivo build.properties (por exemplo, adicione e remova um espaço e salve o arquivo). Limpe e reconstrua os projetos em seu espaço de trabalho.

Espero que isso resolva alguns dos seus problemas.

TennFest
fonte
2

Verifique se você não possui variáveis ​​de caminho de classe indefinidas (como M2_REPO).

An̲̳̳drew
fonte
2

Eu tive o mesmo problema e Andrew está correto. Verifique sua variável do caminho de classe "M2_REPO". Provavelmente, aponta para um local inválido do seu repo maven local.

No meu caso, eu estava usando mvn eclipse:eclipsena linha de comando e esse plug-in estava configurando a variável de caminho de classe M2_REPO. O Eclipse não conseguiu encontrar meu maven settings.xml no diretório inicial e, como resultado, foi incorretamente a variável do caminho de classe M2_REPO. Minha solução foi reiniciar o eclipse e ele pegou meu settings.xml e removeu a exclamação vermelha em meus projetos.

Eu tenho mais algumas informações desse cara: http://www.mkyong.com/maven/how-to-configure-m2_repo-variable-in-eclipse-ide/

Terence
fonte
2

A solução que funcionou para mim é a seguinte, apresentada por Steve Hansen Smythe. Estou apenas colando aqui. Obrigado Steve.

"Encontrei outro cenário no qual o ponto de exclamação vermelho pode aparecer. Copiei um diretório de um projeto para outro. Esse diretório incluía um diretório .svn oculto (o projeto original havia sido comprometido com o controle de versão). Quando verifiquei meu novo projeto no SVN, o diretório copiado ainda continha as informações antigas do SVN, identificando-se incorretamente como um elemento em seu projeto original.

Eu descobri o problema consultando as propriedades do diretório, selecionando informações sobre o SVN e revisando a URL do recurso. Corrigi o problema excluindo o diretório .svn oculto do meu diretório copiado e atualizando o meu projeto. O ponto de exclamação vermelho desapareceu e pude verificar o diretório e seu conteúdo corretamente. "

user1163441
fonte
0

A solução que funcionou para mim é a seguinte.

Selecionei o projeto específico> clique com o botão direito do mouse> Caminho da construção> configure o Caminho da construção> Bibliotecas> Observei que a biblioteca do sistema JRE estava sendo mostrada (não vinculada).

selecionou essa Biblioteca> clique em Remover> clique em Aplicar> clique em adicionar Biblioteca> Biblioteca do sistema JRE> próximo> JRE padrão da área de trabalho> clique em Concluir> Aplicar> ok.

agora você não verá esses ícones de exclamação no seu projeto.

Naresh Kumar
fonte