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

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.


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).


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".


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.


17

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

Atualizar projeto Maven


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.


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


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


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.


5

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


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.


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.


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


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.


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!


2

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

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


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


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


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.


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.


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


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.


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.


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.


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.


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.


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.


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.


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.


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;
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.