No Eclipse, o que pode causar o ícone de erro “red-x” do Package Explorer quando todas as fontes Java são compiladas sem erros?

94

Estou usando o Eclipse para desenvolvimento em Java. Todas as minhas fontes compilam bem e o aplicativo resultante compila bem. No entanto, continuo recebendo uma notificação de erro "red-x" no Package Explorer.

Todas as minhas fontes neste diretório de origem (muito longo para o instantâneo) compilam bem, nenhuma delas mostra o ícone de erro "red-x".

Quaisquer sugestões sobre como resolver o problema serão muito apreciadas.

Alfred B. Thordarson
fonte

Respostas:

167

sim, isso acontece às vezes sem motivo aparente. Você pode ir para a guia "Problemas" (ao lado da saída do console) e ver a mensagem de erro, então talvez você possa restringi-la dessa forma.

Jan Gressmann
fonte
6
Eu especificamente entendo quando outro componente não Java falha na validação (um bom exemplo seria um arquivo XML, como spring's ou maven's).
Spencer Kormos,
2
se você pode ver qualquer problema na visualização do problema, essa é a razão aparente. Ainda não vi nenhum erro sem motivo aparente :)
nanda
Somando-se à resposta de jan-gressman. Às vezes, quando você olha na guia "Problemas", você descobrirá que o problema são arquivos extras com um sublinhado em algumas pastas, por exemplo, __duplicatefile.java. Para corrigir isso, clique com o botão direito do mouse no projeto e selecione: Mostrar em> Navegador. Em seguida, exclua os arquivos duplicados com sublinhado e construa seu projeto.
GraSim
3
Eu também me deparo com isso - com frequência. Para mim, tudo se resume a alterações manuais no meu arquivo POM ao usar Eclipse e Maven e a linha de comando (mvn) de forma intercambiável. Para corrigir: use a guia Problems para diagnosticar como afirmado acima, e se for o POM que está fora de sincronia, você pode "Update Project" com Maven no Eclipse: "Clique com o botão direito" no projeto no Package Explorer, selecione "Maven ", Selecione" Atualizar Projeto ". Certifique-se de que "Atualizar configuração do projeto de pom.xml", "Atualizar espaço de trabalho ..." e "Limpar projetos" estejam selecionados.
Zack Jannsen
Bom conselho para examinar os problemas. Meu projeto precisava ser atualizado.
downeyt
16

Isso acontece com frequência quando uso o Maven e sempre o ignorei até encontrar essa pergunta. Você precisa atualizar o projeto neste caso (descobri isso olhando no painel Problemas)

No menu de contexto do projeto: Maven -> Atualizar projeto e selecione as bases de código maven disponíveis

Alternativamente, você pode usar (Alt + F5) para abrir a mesma janela

Patrick Schaefer
fonte
1
Mesmo quando eu acerto o projeto de atualização, ele não resolve o problema para mim. Na guia de problemas, recebo 100 erros mostrando indefinido / não inicializado / não pode ser resolvido para um tipo ... Alguma
ideia de
11

Tente limpar o projeto e reconstruí-lo.

instantâneo
fonte
6

Depois de construir. Atualize o projeto e, se ainda persistir, clique com o botão direito na guia Problemas no eclipse e escolha excluir tudo.

Isso geralmente acontece se você fizer a instalação do maven e os arquivos de propriedades do eclipse não forem atualizados corretamente. Mesmo que seu projeto não tenha erros. Esperançosamente!

AaMng
fonte
Clique com o botão direito na área da guia Problemas e escolha "Excluir" - é o que eu precisava ouvir!
Gabriel Staples
5

Quero começar agradecendo a todos que responderam. Mas limpar e reconstruir não foram suficientes no meu caso, porque o problema ainda estava lá e precisava ser consertado.

Descobri que um dos meus diretórios de pacotes foi acidentalmente copiado, de modo que agora existia um diretório extra chamado "Cópia de dagskra", contendo arquivos Java com declarações de pacote incorretas. Além disso, os erros neste "novo" diretório não aparecem com um "red-x" no pacote em que ele existe:

Instantâneo do Package Explorer mostrando o diretoryr "Cópia de dagskra" com erro http://www.freeimagehosting.net/uploads/a824304b18.png

Foi a dica de ler a guia "Problemas" :-) que me encaminhou para a direção certa, então estou selecionando essa resposta como aceita porque é isso que eu precisava:

Instantâneo da guia Problemas http://www.freeimagehosting.net/uploads/dea26d5dd0.png

Esperando que isso ajude outros ...

Alfred B. Thordarson
fonte
2

Então, ao descobrir que pode haver um pacote ausente no buildpath, portanto, o x vermelho contra o projeto principal, para remover isso:

1) vá em "Configure Buildpath" do projeto 2) Java Build Path -> Guia Source - você deve ver o x vermelho contra o pacote / arquivo ausente. se ele não existir mais, apenas "remova-o".

X vermelho vá embora! :)


fonte
1

Às vezes, há erros de caminho de construção em .project, e você precisa alternar para a visualização de Recursos para realmente ver o arquivo que está causando o erro.

JeeBee
fonte
1

Eu tive o mesmo problema e as etapas abaixo resolveram o problema:

  1. Exclua o JRE de PROJECT> propriedades> caminho de construção java> bibliotecas.

  2. Reinicie o eclipse

  3. Adicione o JRE novamente

  4. Reconstrua o projeto usando Projeto> Limpar e escolha a opção de construir automaticamente.

Tente por favor.

sun2
fonte
Essa pergunta tem quase quatro anos, já foi respondida, e esta é uma duplicata da resposta. Por favor, poste novas informações somente se elas puderem ajudar o autor da pergunta.
Sam,
Desculpem a confusão, porém a meu ver, tentei postar nova resposta não duplicada.
dom 2 de
Estou aqui com o mesmo problema dia 28/01/18. ainda é bom fornecer respostas, independentemente da idade da pergunta.
Tadele Ayelegn
1

O Subversion é ocasionalmente o culpado por isso também. Pode não ter nada a ver com seu ambiente. Porém, pode haver uma discrepância entre o estado atual e o local do projeto. No meu caso, fazer uma atualização e, em seguida, uma confirmação para o servidor subversion me forneceu o resultado limpo esperado sem quaisquer sinalizadores no projeto, como o X.

Jay Snayder
fonte
Vejo que os plug-ins SVN para eclipse não são muito estáveis. Eu continuo tendo problemas com eles. Eu coloco a culpa sobre eles (não tenho ideia, apenas um palpite). O que você propôs funcionou para mim +1.
Pantelis Natsiavas
0

Tente fazer uma reconstrução. Descobri que os xs vermelhos nem sempre desaparecem até que a reconstrução seja concluída.

mdec
fonte
0

Já me deparei com um problema semelhante muitas vezes, o que geralmente acontece comigo é que um arquivo java dirá que não compilará no editor de texto, mas no explorador de pacotes dirá que está compilando bem.

Às vezes, fazer uma 'reconstrução' ou 'compilação limpa' não funciona, os arquivos não são realmente compilados (deve-se presumir que o Eclipse pensa que os arquivos que ele possui estão atualizados) e quando isso acontece eu geralmente abro o caminho de construção do java e apenas mover uma das minhas dependências para baixo / para cima na hierarquia. Isso força o eclipse a fazer uma reconstrução de tudo e sempre parece funcionar.

Se você ainda estiver tendo problemas, tente copiar o projeto e veja se obtém o mesmo comportamento e na última tentativa de postar um bug para eclipse, pode demorar um pouco para que eles consertem, mas pelo menos você sabe que está sendo ouviu.

Henry B
fonte
0

Para adicionar à resposta anterior, uma maneira extrema de "limpar" seu projeto é excluí-lo (ou seja, excluir sua referência do espaço de trabalho, não excluir os arquivos reais) e, em seguida, importá-lo novamente.
Às vezes, ajuda ...

VonC
fonte
0

Como já foi dito, as referências de arquivo incorretas no caminho de construção costumam ser as culpadas.

Normalmente, um arquivo .jar que foi movido / excluído. O Eclipse espera encontrar tudo referenciado no caminho de construção no local especificado e reclamará do contrário.

madlep
fonte
0

FindBugs também coloca um x vermelho contra arquivos / pacotes para indicar erros de análise de código estático.

Rahul
fonte
0

Eu já passei por isso. Meu caso estava mais envolvido. O projeto foi empacotado sem problemas a partir da linha de comando do maven.

Algumas coisas que fiz. 1. Uma classe tem muitas importações que confundem eclipse. Limpá-los corrigiu parte do problema 2. Um caso era sobre um Setter, pressionando F3 navegando até aquele Setter, embora Eclipse tenha reclamado que ele não está lá. Então, simplesmente digitei novamente e funcionou bem (mesmo para todos os outros Setters)

Ainda estou lutando com o super construtor Implícito Item () é indefinido para o construtor padrão. Deve definir um construtor explícito "


fonte
0

Eu também experimento esses símbolos de erro misteriosos em pacotes de vez em quando. Uma maneira de me livrar deles que funciona para mim é remover efetivamente a biblioteca do sistema JRE do Java Build Path e adicioná-la novamente.

Greiball
fonte
o questionador perguntou pela causa, você forneceu uma solução alternativa
johannes
0

Minha solução que finalmente funcionou foi limpar todos os projetos, fechar o eclipse, limpar todos os projetos, fechar o eclipse e assim por diante pelo menos 5 a 6 vezes. Eventualmente, tudo se acalmou e tudo saiu como o esperado. A coisa mais estranha de todas !!

E não, não houve erros no problema ou visualização do console.

Além disso, isso aconteceu após um travamento do computador. A última vez que isso aconteceu, todo o meu espaço de trabalho estava completamente perdido. Ainda estava lá no computador, mas quando tentei acessá-lo, estava tudo em branco.

Por alguma razão, travamentos de computador são realmente muito mal tratados pelo eclipse.

Stephane Grenier
fonte
0

Além disso, você pode atualizar o projeto clicando,

Clique com o botão direito no nome do projeto -> Selecione Maven -> clique com o botão direito -> Atualizar projeto.

Isso ajudou para mim.

Obrigado.

abhijitcaps
fonte
0

Isso pode ocorrer por vários motivos. Se você alterou o jdk, a faceta Projeto terá um X vermelho próximo a ela, enquanto nenhuma outra pasta mostra um erro. Se for esse o caso, modifique o jdk que é mostrado. Isso acontece ocasionalmente em nossa classe JAX-WS ( HSG

Andreas
fonte
0

Eu resolvi o meu por

  • Feche todos os outros projetos (ou seja, opção de projeto não relacionado)

  • Limpar e construir

Meu projeto era android, e pronto.

Catedral de Pillon
fonte
0

Isso aconteceu quando eu baixei fabric.io no Eclipse Mars, mas reiniciar o computador resolveu esse problema para mim.

Sheraz Ahmad Khilji
fonte
0

No meu caso, o que resolveu esse problema foi simplesmente fechar o Eclipse e abri-lo novamente ... No entanto, ainda não tenho certeza por que isso aconteceu ou porque funcionou. Eu estava tendo problemas para limpar meu projeto (dizia que não era possível Excluir determinado arquivo) e isso resolveu :):

DarkCygnus
fonte
0

eu tive o mesmo problema. Verifiquei a guia "Problemas" e não encontrei nenhum servidor para o projeto. Eu defini o servidor. o x vermelho desapareceu

Hao
fonte
0

Você pode ir para projeto-> Buildpath-> Biblioteca

Se houver alguma biblioteca marcada com um X, isto é, [marcada com uma cruz], remova-a e tente construir novamente. Funcionou para mim também /

Anjali
fonte
0

Eu encontrei esse problema hoje e encontrei este link. Segui conforme mencionado por Patrick Schaefer acima e abri a caixa de diálogo Atualizar projeto Maven. Clique no meu projeto de trabalho e marque a caixa de seleção "Force Update of Snapshots / Releases" e 'Ok'. Toda a cruz vermelha desapareceu. Espero que isso ajude alguém em uma situação semelhante.

eshu
fonte
-2

Clique com o botão direito no projeto com erros e, nos submenus, selecione: Maven > UpdateProject >

e depois:

  • Selecione a caixa de seleção para todos os projetos dependentes
  • selecione forçar atualização de instantâneos
  • Clique OK.

Isso funcionou para mim ..

icedMeteor
fonte