Projeto Java no Eclipse: O tipo java.lang.Object não pode ser resolvido. É indiretamente referenciado a partir de arquivos .class necessários

209

Estou recebendo o seguinte erro após importar um projeto no Eclipse:

O tipo java.lang.Object não pode ser resolvido. É indiretamente referenciado a partir de arquivos .class necessários

No entanto, eu configurei o caminho como C: \ Arquivos de programas \ Java \ jdk1.6.0_41 no Eclipse Kepler, através da Janela »Preferências» Java »JREs instalados .

Diamante azul
fonte
eu fiz "projecto exemplar" e erro desapareceu
Srinath Ganesh
O comportamento ainda ocorre no Luna Service Release 2 (4.4.2). A solução aqui ainda pode resolver o problema.
Phobic

Respostas:

243

Este é um bug irritante do Eclipse, que parece morder de vez em quando. Consulte http://dev-answers.blogspot.de/2009/06/eclipse-build-errors-javalangobject.html para obter uma solução possível; caso contrário, tente o seguinte;

  • Feche o projeto e abra-o novamente.

  • Limpe o projeto (ele reconstruirá o caminho de construção, reconfigurando com as bibliotecas JDK)

    OU

  • Exclua e reimporte o projeto e, se necessário, execute as etapas acima novamente.

A melhor solução é experimentar o NetBeans em vez do Eclipse :-)

Gyro Gearless
fonte
4
O mesmo aqui. Erro bizarro do Eclipse. O link Como diz o link, remover a biblioteca JRE do caminho de classe do projeto e adicioná-lo novamente, corrige o problema.
Felipe Leão
Ah, para um mundo que não tinha contratos com a IBM.
Zibbobz
1
Eu tive esse erro em um projeto Android, para eu clicar em Ferramentas Android -> Corrigir propriedades do projeto, corrigi-lo.
Lorenz
@Zibbobz Por que precisamos de contrato com a IBM. Ainda não consigo resolver isso com o IBM Java.
Anand
Gostaria de saber se isso está relacionado a quando você altera a variável de ambiente JAVA_HOME? Eu havia mudado minha variável JAVA_HOME e isso apareceu. Acabei de remover / ler a biblioteca JRE.
user2124871
221

Os seguintes passos podem ajudar:

  1. Clique com o botão direito do mouse no projeto »Propriedades» Caminho de Construção Java
  2. Guia Selecionar Bibliotecas
  3. Encontre a biblioteca do sistema JRE e remova-a
  4. Clique no botão Adicionar Biblioteca ... no lado direito »Adicione a Biblioteca do Sistema JRE (JRE padrão da área de trabalho)
Ripon Al Wasim
fonte
4
No meu caso, ocorreu porque removi acidentalmente o JRE ao importar o projeto [culpa minha]. Isso me deu uma pista para corrigir o problema.
precisa saber é o seguinte
no meu caso, não existia, então eu adicionei.
Muhammed Refaat
1
Embora isso funcionou no meu caso, resolveu 8 erros, mas me deu outros 33!
Harsh Phoujdar 5/09/19
10

Aqui está como eu o resolvi: No Java-ADT: Windows - Preferências - Java - JREs instalados Basta adicionar outro JRE, apontando para a pasta 'jre' na sua pasta JDK. (jre está incluído no jdk). Certifique-se de escolher o novo jre.

Andy Zhang
fonte
9

Isso aconteceu comigo quando importei um projeto Java 1.8 do Eclipse Luna para o Eclipse Kepler.

  1. Clique com o botão direito do mouse em projeto> Caminho da construção> configurar caminho da construção ...
  2. Selecione a guia Bibliotecas, você verá o Java 1.8 jre com um erro
  3. Selecione o java 1.8 jre e clique no botão Remover
  4. Incluir Biblioteca ...> Biblioteca do Sistema JRE> Próximo> padrão da área de trabalho> Concluir
  5. Clique em OK para fechar a janela de propriedades
  6. Vá para o menu do projeto> Limpar ...> OK

Et voilà, isso funcionou para mim.

e18r
fonte
7

A classe de objeto é a classe base para todas as classes em java, se você estiver ausente, isso significa que você não possui as bibliotecas jdk em seu caminho de construção. Não sei muito sobre o Kepler, mas você precisa garantir que ele aponte para um jdk correto para compilação e um jre correto para executar seus aplicativos java.

No entanto, eu configurei o caminho como C: \ Arquivos de programas \ Java \ jdk1.6.0_41 da barra de ferramentas do eclipse Kepler-> janelas-> preferências-> java-> jre instalada

Você está tentando apontar o jdk em vez do jre em suas preferências. barra de ferramentas-> janelas-> preferências-> java-> jre instalado deve apontar para um jre e não para o jdk.

Juned Ahsan
fonte
Eu tentei com isso também. Mas ainda no mesmo estado de erro.
Blue Diamond
4

Nenhuma das outras respostas funcionou para mim. Mas fazer isso fez:

  1. Clique com o botão direito do mouse no projeto no explorador de pacotes.
  2. Fonte> Limpar ...
  3. Próximo> Concluir

Quando eu fiz isso, o Eclipse adicionou uma importação em uma das minhas classes. Acho que isso ocorreu porque salvei meu projeto com uma importação ausente, provavelmente correndo para chegar em casa depois do trabalho.

Jack Pettinger
fonte
obrigado .. está trabalhando .. por favor me explique como funciona?
Singh Arjun
@SinghArjun Não tenho certeza, mas acho que isso acontece quando o projeto é salvo com uma importação ausente.
Jack Pettinger
4

Você instalou uma versão diferente do JRE depois, enquanto usava a versão anterior do JRE no Eclipse.

se não for:

  1. Clique com o botão direito do mouse em seu projeto -> Caminho da Construção -> Configurar Caminho da Construção
  2. Vá para a guia 'Bibliotecas'
  3. Adicionar Biblioteca -> Biblioteca do Sistema JRE -> Próximo -> JRE padrão da área de trabalho (ou você pode escolher o JRE alternativo do sistema) -> Concluir

se sim que.

  1. Clique com o botão direito do mouse em seu projeto -> Caminho da Construção -> Configurar Caminho da Construção
  2. Vá para a guia 'Bibliotecas'
  3. Remover versão anterior
  4. Adicionar Biblioteca -> Biblioteca do Sistema JRE -> Próximo -> JRE padrão da área de trabalho (ou você pode escolher o JRE alternativo no seu sistema) -> Concluir
Gaurav Varshney
fonte
4

Nenhuma quantidade de limpeza, fechamento / reabertura do projeto e IDE, remoção / adição do JRE no caminho de compilação funcionaram para mim.

A solução que encontrei foi remover o projeto do Eclipse (não do disco), remover os arquivos Eclipse do projeto e importar para o Eclipse novamente. Isso funcionou.

É ainda mais rápido se você estiver usando o Maven:

  1. Feche o Eclipse (não é necessário remover o projeto)
  2. Corre mvn clean eclipse:clean eclipse:eclipse
  3. Abra o Eclipse. Seu projeto ainda está presente e o problema deve ter desaparecido.
Nicolas Raoul
fonte
3

Outro problema pode ser que o Destino de Construção do Projeto Android não esteja definido.

  1. Clique com o botão direito do mouse no projeto
  2. Escolha Propriedades
  3. Clique em Android
  4. Marque o destino de construção do projeto apropriado
  5. Aplicar | Está bem
satyrFrost
fonte
3

Clique com o botão direito do mouse em projeto -> Mostrar no Navegador Na visualização do navegador, você pode ver o arquivo .classpath, exclua esse arquivo e construa o projeto. Isso funcionou para mim. PS. Se você integrou o projeto eclipse com algum controle de versão como perfoce / svn, desvincular o projeto antes de excluir o .classpath será útil.

Sankalp
fonte
2

Eu estava enfrentando esse problema com o aplicativo play-java no eclipse após adicionar um controlador, removi e reinstalei o JRE através do caminho de compilação e depois removi e importei meu projeto que resolveu esse problema automaticamente. Obrigado giroscópio.

user989383
fonte
É o mesmo que a resposta de Ripon Al Wasim, certo?
Nicolas Raoul
2

Parece ser um bug do Eclipse, embora reiniciar o Eclipse tenha funcionado muito bem para mim, espero que isso ajude outra pessoa também.

Arturas M
fonte
2

O que resolveu meu problema foi

1) Instale o jdk no diretório sem espaços:

C:/Java

Ao invés de

C:/Program Files/Java

Este é um problema conhecido no Windows. Eu consertei JAVA_HOMEtambém

2) Eu java 7 e java 8 no meu laptop. Então eu defini o jvm usando eclipse.ini. Esta não é uma etapa obrigatória se você não tiver -vmentrada na sua eclipse.ini. Eu atualizei:

C:/Java/jdk1.7.0_79/jre/bin/javaw.exe

Ao invés de:

C:/Java/jdk1.7.0_79/bin/javaw.exe

Boa sorte

KerenSi
fonte
1

Eu tive o mesmo problema nas janelas do eclipse que não consegui adicionar arquivos .class dependentes da JNI. Para resolver o mesmo, levei todo o código para o NetBeans IDE.

Não é possível adicionar todos os arquivos de classes da pasta JNI / JNA no Eclipse (JAVA, Windows 7)

Jyo, o Whiff
fonte
Por que é votado para baixo? Veja, eu tentei todas as soluções possíveis, ainda não consegui resolver o problema e, em seguida, levei o código para o NetBeans. Eu respondi isso porque, se alguém aguentar, na pior das hipóteses, ele pode obter ajuda.
Jyo the Whiff
Você pode estar certo, mas para mim o JNI / JNA funcionou bem (para eclipse - 4.9.0) após excluir a biblioteca existente e configurar a biblioteca jre padrão, fechar projeto, abrir projeto.
Ajay Kumar
1

Enquanto estivermos trabalhando com as versões tomcat 6 e jdk 1.8, alguns dos recursos não funcionarão e esse erro que você está recebendo é um deles. você precisa alterar a versão do jdk para a versão estável (jdk 1.6 ou jdk 1.8_65) no eclipse para resolver esse erro.

no eclipse etapa 1: propriedades -> caminho de construção do java -> biblioteca do sistema jre (remover) etapa 2: adicionar -> biblioteca do sistema jre -> jre alternativo -> jre instalado -> jre instalado -> add -> VM padrão -> (em jre home, colocar caminho do jdk) -> terminar

agora limpe e verifique o projeto

NSetty
fonte
1

Eu recebi esse erro porque instalei o "Eclipse IDE para desenvolvedores Enterprise Java", desinstalei e instalei o "Eclipse IDE para desenvolvedores Java". Problema resolvido para mim.

RVR
fonte
0

Aconteceu comigo depois de instalar algumas atualizações no eclipse, mas esqueci de reiniciar depois. Talvez reiniciar o eclipse possa ajudar.

NotX
fonte
Tentei fazer isso, mas ainda não tenho permissão para escrever comentários.
NotX
0

Por mais trivial que isso possa ser, verifique sua instalação Java. Para mim, o rt.jar estava ausente .

Achei isso depois de mexer por meio dia com as configurações do Eclipse e chegar a lugar nenhum. Desesperado, finalmente decidi tentar compilar o projeto a partir da linha de comando. Eu não esperava ver nada de errado, pois pensei que fosse um problema do Eclipse, mas, para minha surpresa, vi o seguinte:

Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object

Não sei o que aconteceu com minha instalação do Java e para onde foi o rt.jar. De qualquer forma, isso é um lembrete para examinar a lista de verificação de falha e marcar todas as caixas, independentemente de quão inacreditáveis ​​elas sejam. Isso teria me poupado muito tempo.

Nikola Kolev
fonte
0

Está funcionando para mim depois de desmarcar 'User' --releae option 'no eclipse Java-compiler

Na etapa 1 do eclipse: properties -> java Complier -> marcando a opção 'User' --releae option 'option -> finish

Java versão 13.0.1 Versão Eclipse: IDE Eclipse para Enterprise Java Developers.

poovaraj
fonte
0

Clique com o botão direito do mouse no projeto, selecione Maven -> Atualizar projeto. Isso deve resolver o problema.

morfeu
fonte
fazer eclipse -> maven -> update deve ser uma das etapas durante a solução de problemas.
Vaibs 24/01
0

No meu caso, era um grande projeto modular e o ' X vermelho ' estava aparecendo apenas no projeto pai. Fui ao projeto pai

Propriedades -> Caminho incorporado

a removeu a biblioteca JRE, apenas isso, não há mais biblioteca JRE no projeto pai.

Francisco Souza
fonte
0

Nenhuma dessas soluções funcionou para mim. No meu caso, o problema era que eu tinha algum código Java produzindo .javaarquivos e criei acidentalmente um arquivo chamado Class.java(o conteúdo não parece importar). A remoção do arquivo corrigiu o problema.

HappyEvilSlosh
fonte