Erro do Eclipse: "A importação XXX não pode ser resolvida"

135

Estou tentando trabalhar com o Hibernate no Eclipse. Estou criando um novo projeto simples e baixei um projeto de colega também, via CVS. Ambos não funcionam, enquanto no Eclipse do meu colega. O problema é que, para cada importação de uma classe Hibernate, o Eclipse diz:

The import org.hibernate cannot be resolved

Mas todos os frascos do Hibernate estão no caminho de construção, ou seja:

antlr-2.7.6.jar
cglib-2.2.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
hibernate3.jar
hibernate-jpa-2.0-api-1.0.0.Final.jar
javassist-3.12.0.GA.jar
jta-1.1.jar
slf4j-api-1.6.1.jar
azulado
fonte
1
como você adicionou esses jar no seu caminho de construção?
precisa saber é o seguinte
3
por Propriedades> Caminho de compilação Java> Bibliotecas> Adicionar JARs externos
azulado
1
Se ele trabalhou e eles não fazer agora, ver @dogbane 's resposta abaixo ...
Shanimal
verifique se há algum espaço na sua pasta de importação. se houver um espaço, remova o espaço e importe projetos para o eclipse.
schin chan 02/07/19

Respostas:

283

Tente limpar seu projeto, acessando o seguinte item de menu:

Project > Clean...

Se isso não funcionar, tente remover os frascos do caminho de construção e adicioná-los novamente.

dogbane
fonte
5
pode ser um problema do JRE. Tente selecionar um "JRE alternativo" nas propriedades do projeto.
dogbane
10
Limpo também funcionou para mim. O que exatamente acontece (tudo ficou maluco de repente) e como o Clean ajuda?
Sabre Runner
1
Isso resolveu o problema também para mim; não é um projeto de hibernação, mas um libGdx , chamando minhas importações de java e não jars. A mesma pergunta do @SabreRunner, e também: há algum bug nas ferramentas do ambiente?
Zac
3
Trabalhou para mim também. Sua super frustrante quando o menu de ajuda contextual está encontrando sua classe e mão escrevendo a mesma importação superiores aos marcados "não pode ser resolvido" e sem erros ...
Shanimal
1
Desta forma, não ajuda no meu caso. Minha versão do Eclipse é: Neon.3 Release (4.6.3)
Timothy.Li 2/18
27

Obviamente, existem casos em que há um problema válido, no entanto, o Eclipse gera esse erro sem um bom motivo às vezes.

Este ainda (2019-03) é um bug antigo do Eclipse (2010) que pode ser resolvido com uma alteração insignificante nas configurações do projeto.

A configuração que escolhi alterar foi: Projeto> Propriedades> Caminho de Construção Java> Pedido e Exportação> faça uma alteração sem sentido no pedido> Aplicar.

Alterar a ordem de volta não regride para o problema. Simplesmente tocar no arquivo também pode resolver o problema (testarei o toque na próxima vez).

user1133275
fonte
1
Arquivo> Propriedades Deve ser alterado para Projeto> Propriedades.
precisa saber é o seguinte
Desta forma, não ajuda no meu caso. Minha versão do Eclipse é: Neon.3 Release (4.6.3)
Timothy.Li 2/18/18
Para mim, a biblioteca do sistema JRE precisava estar acima das dependências do Maven na guia Ordem de exportação e ordem do caminho de construção.
Anthony Hayward
2
Este bug agora tem pelo menos 9 anos de idade.
user1133275
Ainda está lá, novembro de 2019. Sheesh.
Tullochgorum 8/11/19
22

Limpe o projeto. E verifique novamente se os jarros estão realmente no caminho da compilação (sem erros). Verifique também se não há nada na exibição "Problemas".

Bozho
fonte
Já tentei isso mais de uma vez: com frascos individuais, dentro de uma biblioteca, ... Parece um erro estranho!
azulada
1
você tem alguma coisa na visualização Problemas?
Bozho
Somente os problemas que eu contei e os avisos do tipo "A classe serializável Azienda não declara um campo serialVersionUID final estático do tipo long".
azulada
18

Eu encontrei o problema Era o hibernate3.jar. Não sei por que não foi bem extraído do .zip, talvez corrompido . Uma boa maneira de verificar se os jars estão corrompidos ou não é navegar pela estrutura em árvore no "Project Explorer" no Eclipse: se você não pode expandir um nó jar, provavelmente está corrompido. Vi que ter pacotes corrompidos é frequente quando você os arrasta e solta no "Project Explorer". Talvez seja melhor movê-los e copiá-los no ambiente do sistema operacional! Obrigado a todos.

azulado
fonte
17

Se for um projeto Maven, clique também em Maven >> Atualizar projeto ... (F5)

Atualizar projeto Maven

albertoiNET
fonte
Se você importar um projeto maven como "projeto Java", esse problema ocorre. Converta projeto em projeto maven e atualize como você disse e o problema se foi.
kodmanyagha
8

Eu o resolvi removendo o projeto (não exclua no disco) e importando-o novamente.

SoldierShen
fonte
8
  1. projeto limpo Projeto -> limpeza ...
  2. Clique com o botão direito do mouse em projeto -> BuildPath -> Configurar BuildPath -> guia Bibliotecas ->

Clique duas vezes em JRE SYSTEM LIBRARY -> Em seguida, selecione JRE alternativo

Balkrushna Patil
fonte
6

Eu tive o problema, que o caminho da classe estava quebrado de alguma forma.

Então, clique com o botão direito do mouse no projeto em Package Explorer> Ferramentas de plug-in> Atualizar caminho de classe ... fez isso por mim

wuppi
fonte
No Neon.3 Release (4.6.3), não há ferramentas Plug-in no menu contextual clicando com o botão direito do mouse no projeto no Package Explorer
Timothy
6

Resolvi esse problema atualizando o projeto: clique com o botão direito do mouse no projeto Maven, selecione Maven -> Atualizar projeto -> marque a caixa de seleção Forçar atualizações de snapshots / liberações.

Kalahasthi Satyanarayana
fonte
5

Tente adicionar a Biblioteca do sistema JRE no caminho de construção do seu projeto.

Calça Gaurav
fonte
3

Comigo, ajudou a alterar o nível de conformidade do compilador . Por razões desconhecidas, foi definido como 1,6 e eu mudei para 1,8.

Uma vez no nível do projeto, clique com o botão direito do mouse em projeto> Propriedades> Java Compiler, enquanto no Eclipse, clique no menu Janela> Preferências> Java> Compiler.

Alex P.
fonte
3

Eu tentei todas as respostas acima, mas sem sorte. No meu caso, existe uma pasta build / classes gerada com alguns arquivos ".class" adicionais. Acabei indo ao explorador de pacotes, clicando com o botão direito do mouse no projeto e selecionando a opção "Atualizar", que tornou a pasta build / classes disponível novamente, resolvendo o problema.

egallardo
fonte
3

Isso resolveu meu problema.

1) projeto limpo Projeto -> limpeza ...

2) Clique com o botão direito do mouse em projeto -> BuildPath -> Configurar BuildPath -> guia Bibliotecas -> clique duas vezes em JRE SYSTEM BIBLIOTECA -> Em seguida, selecione JRE alternativo

3) Clique em Salvar

4) Novamente, vá para o seu projeto no explorador de projetos e clique com o botão direito do mouse em Projeto -> BuildPath -> Configurar BuildPath -> guia Bibliotecas -> Clique duas vezes em JRE SYSTEM LIBRARY -> Desta vez, selecione "Execution Environment"

5) Aplicar

Atul Waghmare
fonte
2

No meu caso, era um pote quebrado no repositório Maven. Exclua os arquivos jar no repositório e deixe o Maven baixá-los novamente.

Quando corri mvn clean installda linha de comando, ele funcionou bem, mas o Eclipse ainda não conseguiu compilar o código. Quando eu corri maven installno Eclipse, vi que o Maven se queixava de um arquivo jar ruim. Então eu apaguei e corri maven installnovamente. O problema se foi.

Evgeny Shmulev
fonte
2

Para fazer o download do arquivo jar inexistente no diretório .m2, execute o mvn clean installcomando do seu projeto pom.xml. Você deve atualizar as dependências do projeto clicando em Alt+F5. Isso funciona para mim!

ÖMER TAŞCI
fonte
2

A remoção do "module-info.java" resolveu o problema para mim!

Este arquivo foi gerado automaticamente e apareceu na minha hierarquia ...

val_t
fonte
1

Eu tive o mesmo problema porque adicionei um jar que criei, onde havia definido o diretório base do empacotamento diferente do diretório base das classes. Como resultado, a classe, por exemplo, java.util.Listteve que ser importada, como se util.Lista importação sugerida fosse a primeira.

Verifique os jars importados nas bibliotecas referenciadas para ver se eles foram importados corretamente

kon psych
fonte
1

Eu não entendi o raciocínio por trás disso, mas isso resolveu o mesmo problema que eu estava enfrentando. Você pode precisar dessas etapas antes de executar as etapas mencionadas nas soluções acima (Limpe todos os projetos e Construa automaticamente).

clique com o botão direito do mouse em projeto -> Propriedades -> Facetas do projeto -> selecione Java -> Aplicar

avp
fonte
1

Sempre que você encontrar esse problema, vá em Projeto> Limpar e selecione Limpar todos os projetos. Ele deve ser resolvido, caso contrário, tente excluir esses jarros e adicioná-los novamente. A última coisa seria tentar reiniciar o Eclipse.

Srinivas Thammanaboina
fonte
1

pom.xml

Se for um projeto Maven, vá para pom.xml e remova todos os jars de dependência. Salve isso. O projeto será construído automaticamente.

Em seguida, adicione os frascos de dependência novamente (você pode fazer Ctrl+ Z). Salve isso. O projeto será compilado automaticamente e você não verá esse erro.

sravan
fonte
1

Remova a dependência do seu POM.XML, faça o download do jar e adicione-o no caminho de compilação.

algum dia -> maven não refletirá novas mudanças e isso pode causar esse tipo de problema

Rajagopal K
fonte
0

Por favor, tente e verifique se todas as bibliotecas estão no lugar. Eu tive o mesmo problema. Mas eu resolvi movendo a pasta lib e adicionando todos os jars novamente no caminho da compilação.

Ravi Kumar
fonte
0

Eu tenho o mesmo problema. Fiz o download do jar e o adicionei ao caminho da compilação, mas não percebi que a extensão era .jar.zip. Eu o converti novamente para .jar e adicionei ao caminho da construção.

Isso resolveu meu problema. É um erro muito bobo, mas escrevi aqui para o caso de ajudar alguém.

Ali786
fonte
0

Se você estiver trabalhando com o Maven e tiver esse problema, verifique o servidor do repositório (por exemplo, servidor nexus), se o artefato estiver lá. Às vezes, eles podem alterar o nome do artefato e você tenta obter o artefato com o nome antigo.

drJava
fonte
0

Resolvido vinculando a fonte. No explorer, clique com o botão direito do mouse no projeto, selecione propriedades, selecione Java Build Path, selecione Origem nas guias, pressione o botão "LinkSource". E especificando a pasta a ser adicionada ao projeto.

livelovelaugh
fonte
0

Eu não poderia importar também. Levei algumas horas para descobrir, que tentei usar uma biblioteca / jar 1.6 vinculada, enquanto tentava compilar para a 1.8. Quando mudei meu projeto também para o 1.6, o problema de importação desapareceu. Todas as mensagens de erro estavam levando a direções erradas. Apenas na fonte, encontrei algumas limitações direcionadas à versão 1.6. E: Por exemplo, o arquivo .settings e .classpath (Pesquisa de arquivo) -> org.eclipse.jdt.core.compiler.codegen.targetPlatform = 1.6 pode dar uma dica sobre esses problemas.

sqller
fonte
0

Eu enfrentei o mesmo problema e resolvi-o removendo um frasco que foi adicionado duas vezes em duas dependências diferentes no meu pom.xml. A remoção de uma das dependências resolveu o problema.

Reema
fonte
0

Para mim, parecia que eu estava adicionando o nível errado da pasta da biblioteca. Eu baixei o Jericho HTML Parser , descompactei em eclipse-workspace/libraries/jericho-html-3.4/

Então, ao adicionar isso como uma pasta de biblioteca externa, o truque era navegar até essa pasta, realçar a pasta "classes" e pressionar Abrir. Eu já havia tentado adicionar os níveis pai e vários de subpastas e não funcionou.

Isso é bem explicado aqui , diz

Você também pode adicionar uma pasta de classe , um diretório que contém arquivos de classe Java que não estão em um JAR.

Há duas lições aprendidas aqui para mim, desculpas se estas não estiverem relacionadas ao tópico:

  1. Leia atentamente as instruções - como palavra por palavra!

  2. Não desista - é a primeira vez que adiciono uma biblioteca. Levei cerca de duas horas para adicioná-la.

pateksan
fonte
0

Solução para Eclipse IDE

No meu caso, eu o corrigi corrigindo um desses dois arquivos que podem estar corrompidos: .classpath ou .project .

Para reparar qualquer um dos arquivos corrompidos, você pode copiar de outro projeto que tenha o arquivo .project ou o arquivo .classpath em questão e esteja livre de erros. Mas certifique-se de não adicionar configurações adicionais que não serão usadas.

Tavo
fonte
0

[ Trabalho de estrutura do Code Igniter ] [ Import library ]

Tente clicar com o botão direito do mouse no projeto em uma visualização do Project Explorer, escolha atualizar . Todos os marcadores de erro foram surpreendentemente para o meu caso.


Eu não sou bom no Eclipse. Comecei a usar o Android Studio para desenvolver o Android. Mas é irritante ver marcadores de erro vermelhos pairando o tempo todo, enquanto todo o projeto ainda funciona bem. Aconteceu comigo quando uso o compositor para importar uma biblioteca como esta:

require __DIR__ . '/../../vendor/autoload.php';

use \Firebase\JWT\JWT;
Nguyen Tan Dat
fonte