Erreur Eclipse: "L'importation XXX ne peut pas être résolue"


135

J'essaye de travailler avec Hibernate dans Eclipse. Je crée un nouveau projet simple et j'ai également téléchargé un projet de collègue, via CVS. Les deux ne fonctionnent pas, alors que sur Eclipse de mon collègue le font. Le problème est que, pour chaque importation d'une classe Hibernate, Eclipse dit:

The import org.hibernate cannot be resolved

Mais tous les fichiers JAR Hibernate sont dans le chemin de construction, c'est-à-dire:

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
comment avez-vous ajouté ces jar dans votre chemin de construction?
Jigar Joshi

3
par Propriétés> Chemin de construction Java> Bibliothèques> Ajouter des fichiers JAR externes
bleuâtre


1
Si cela a fonctionné et qu'ils ne le font pas maintenant, voir la réponse de
@dogbane

vérifiez s'il y a de l'espace dans votre dossier d'importation. s'il y a un espace, supprimez l'espace et importez les projets sur eclipse.
schin chan

Réponses:


283

Essayez de nettoyer votre projet en accédant à l'élément de menu suivant:

Project > Clean...

Si cela ne fonctionne pas, essayez de supprimer les fichiers JAR du chemin de construction et de les ajouter à nouveau.


5
peut être un problème JRE. Essayez de sélectionner un "JRE alternatif" dans les propriétés du projet.
dogbane

10
Clean a également fonctionné pour moi. Que se passe-t-il exactement (tout est devenu dingue tout d'un coup) et comment Clean aide-t-il?
Sabre Runner

1
Cela a résolu le problème aussi pour moi; ce n'est pas un projet hibernate, mais un projet libGdx , appelant mes importations java et non jars. Même interrogation de @SabreRunner, et aussi: il y a un bug quelque part dans les outils d'environnement?
Zac

3
A travaillé pour moi aussi. C'est super frustrant quand le menu d'aide contextuelle trouve votre classe et la main en tapant la même importation au-dessus de celles marquées "ne peut pas être résolu" et aucune erreur ...
Shanimal

1
Cette façon n'aide PAS dans mon cas. Ma version Eclipse est: Neon.3 Release (4.6.3)
Timothy.Li

27

De toute évidence, il y a des cas où il y a un problème valide, mais Eclipse renvoie parfois cette erreur sans raison valable.

Cet alambic (2019-03) est un ancien bogue Eclipse (2010) qui peut être résolu en apportant une modification négligeable aux paramètres du projet.

Le paramètre que j'ai choisi de modifier était: Projet> Propriétés> Chemin de construction Java> Ordre et exporter> faire un changement d'ordre sans signification> Appliquer.

La modification de l'ordre ne régresse pas vers le problème. Le simple fait de toucher le fichier peut également résoudre le problème (je testerai le toucher la prochaine fois).


1
Fichier> Propriétés Doit être modifié en Projet> Propriétés.
Timothy.Li

Cette façon n'aide PAS dans mon cas. Ma version Eclipse est: Neon.3 Release (4.6.3)
Timothy.Li

Pour moi, la bibliothèque système JRE devait être au-dessus des dépendances Maven dans l'onglet Ordre du chemin de construction et exportation.
Anthony Hayward

2
Ce bogue a maintenant au moins 9 ans.
user1133275

Il est toujours là, novembre 2019. Sheesh.
Tullochgorum

22

Nettoyez le projet. Et vérifiez que les fichiers JAR sont vraiment sur le chemin de construction (sans erreur). Assurez-vous également qu'il n'y a rien dans la vue "Problèmes".


J'ai déjà essayé plus d'une fois: avec des bocaux individuels, dans une bibliothèque, ... Cela semble une erreur étrange!
bleuâtre

1
avez-vous quelque chose dans la vue Problèmes?
Bozho

Seuls les problèmes que j'ai signalés et les avertissements du type "La classe sérialisable Azienda ne déclare pas un champ serialVersionUID final statique de type long".
bleuâtre

18

J'ai trouvé le problème. C'était le hibernate3.jar. Je ne sais pas pourquoi il n'a pas été bien extrait du .zip, peut-être corrompu . Un bon moyen de vérifier si les fichiers jar sont corrompus ou non est de naviguer dans leur arborescence dans "Project Explorer" dans Eclipse: si vous ne pouvez pas développer un nœud jar, il est probablement corrompu. J'ai vu que les paquets corrompus sont fréquents lorsque vous les faites glisser et les déposez dans "l'Explorateur de projets". Il vaut peut-être mieux les déplacer et les copier dans l'environnement du système d'exploitation! Merci à tous.


17

S'il s'agit d'un projet Maven, cliquez également sur Maven >> Mettre à jour le projet ... (F5)

Mettre à jour le projet Maven


Si vous importez un projet maven en tant que «projet Java», ce problème se produit. Convertissez le projet en projet maven et mettez à jour comme vous l'avez dit, le problème a disparu.
kodmanyagha le

8

Je l'ai résolu en supprimant le projet (ne pas supprimer sur le disque) et en l'important à nouveau.


8
  1. projet propre Projet -> nettoyer ...
  2. Faites un clic droit sur le projet -> BuildPath -> Configurer BuildPath -> onglet Bibliothèques ->

Double-cliquez sur JRE SYSTEM LIBRARY -> Puis sélectionnez un autre JRE


6

J'ai eu le problème, que le chemin des classes était cassé d'une manière ou d'une autre.

Alors faites un clic droit sur le projet dans l'explorateur de packages> Outils de plug-in> Mettre à jour le chemin de classe ...


Dans la version Neon.3 (4.6.3), il n'y a PAS d'outils de plug-in dans le menu contextuel en cliquant avec le bouton droit de la souris sur le projet dans l'explorateur de packages
Timothy.Li

6

J'ai résolu ce problème en mettant à jour le projet: faites un clic droit sur le projet Maven, sélectionnez Maven -> Mettre à jour le projet -> cochez la case Forcer les mises à jour des instantanés / versions.


5

Essayez d'ajouter la bibliothèque système JRE dans le chemin de génération de votre projet.


3

Avec moi, cela a aidé à changer le niveau de conformité du compilateur . Pour des raisons inconnues, il a été réglé sur 1,6 et je l'ai changé en 1,8.

Une fois au niveau du projet, faites un clic droit sur projet> Propriétés> Compilateur Java, tandis que dans Eclipse cliquez sur le menu Fenêtre> Préférences> Java> Compilateur.


3

J'ai essayé toutes les réponses ci-dessus mais pas de chance. Dans mon cas, il y a un dossier build / classes généré avec quelques fichiers ".class" supplémentaires. J'ai fini par aller dans l'explorateur de packages, en cliquant avec le bouton droit sur le projet et en sélectionnant l'option "Actualiser", ce qui a rendu le dossier build / classes à nouveau disponible, résolvant le problème.


3

Cela a résolu mon problème.

1) projet propre Projet -> nettoyer ...

2) Faites un clic droit sur le projet -> BuildPath -> Configurer BuildPath -> onglet Bibliothèques -> Double-cliquez sur JRE SYSTEM LIBRARY -> Puis sélectionnez un autre JRE

3) Cliquez sur Enregistrer

4) Allez à nouveau dans votre projet dans l'explorateur de projet et faites un clic droit sur le projet -> BuildPath -> Configurer BuildPath -> onglet Bibliothèques -> Double-cliquez sur JRE SYSTEM LIBRARY -> Cette fois, sélectionnez "Execution Environment"

5) Appliquer


2

Dans mon cas, c'était un pot cassé dans le référentiel Maven. Supprimez les fichiers jar du référentiel et laissez Maven les télécharger à nouveau.

Lorsque j'ai couru à mvn clean installpartir de la ligne de commande, cela fonctionnait bien, mais Eclipse ne pouvait toujours pas compiler le code. Quand j'ai couru maven installdans Eclipse, j'ai vu que Maven se plaignait d'un mauvais fichier jar. Alors je l'ai supprimé et j'ai maven installrecommencé. Le problème avait disparu.


2

Afin de télécharger un fichier jar non existant dans votre répertoire .m2, vous devez exécuter la mvn clean installcommande pour votre projet pom.xml. Ensuite, vous devez mettre à jour les dépendances du projet en cliquant sur Alt+F5. Cela fonctionne pour moi!


2

La suppression du "module-info.java" a résolu le problème pour moi!

Ce fichier a été généré automatiquement et est apparu dans ma hiérarchie ...


1

J'ai eu le même problème parce que j'ai ajouté un jar que j'ai créé, où j'avais défini le répertoire de base de l'emballage autre que le répertoire de base des classes. En conséquence, la classe, par exemple, java.util.Lista dû être importée car util.Listsi l'importation suggérée était la première.

Vérifiez les jars importés sous les bibliothèques référencées pour voir qu'ils sont correctement importés


1

Je n'ai pas compris le raisonnement derrière cela, mais cela a résolu le même problème auquel j'étais confronté. Vous pouvez avoir besoin de ces étapes avant d'exécuter les étapes mentionnées dans les solutions ci-dessus (Nettoyer tous les projets et Générer automatiquement).

clic droit sur le projet -> Propriétés -> Facettes du projet -> sélectionnez Java -> Appliquer


1

Chaque fois que vous rencontrez ce problème, accédez simplement à Projet> Nettoyer, puis sélectionnez Nettoyer tous les projets. Cela devrait être résolu, sinon essayez de supprimer ces fichiers et de les ajouter à nouveau. La dernière chose serait d'essayer de redémarrer Eclipse.


1

pom.xml

S'il s'agit d'un projet Maven, accédez à pom.xml et supprimez tous les fichiers JAR de dépendance. Sauvegarde le. Le projet sera automatiquement construit.

Ensuite, ajoutez à nouveau des fichiers JAR de dépendance (vous pouvez faire Ctrl+ Z). Sauvegarde le. Le projet se construira automatiquement et vous ne verrez pas cette erreur.


1

Supprimez la dépendance dans votre POM.XML et téléchargez le fichier jar et ajoutez-le dans buildpath.

parfois -> maven ne reflétera pas les nouveaux changements et cela pourrait causer ce genre de problème


0

Veuillez essayer de vérifier si toutes les bibliothèques sont en place. J'ai eu le même problème. Mais je l'ai résolu en déplaçant le dossier lib et en ajoutant à nouveau tous les fichiers JAR dans le chemin de construction.


0

J'ai le même problème. J'ai téléchargé le fichier jar et l'ai ajouté au chemin de construction, mais je n'ai pas remarqué que l'extension était .jar.zip. Je l'ai de nouveau converti en .jar et ajouté au chemin de construction.

Cela a résolu mon problème. C'est une erreur très stupide mais je l'ai écrit ici au cas où cela pourrait aider quelqu'un.


0

Si vous travaillez avec Maven et que vous rencontrez ce problème, vérifiez le serveur de référentiel (par exemple, le serveur nexus), si l'artefact est présent. Parfois, ils peuvent changer le nom de l'artefact et vous essayez d'obtenir l'artefact avec son ancien nom.


0

Résolu en liant la source. Depuis l'explorateur, faites un clic droit sur le projet, sélectionnez les propriétés, sélectionnez Java Build Path, sélectionnez Source dans les onglets, appuyez sur le bouton "LinkSource". Et en spécifiant le dossier à ajouter au projet.


0

Je ne pouvais pas non plus importer. Il m'a fallu quelques heures pour comprendre que j'essayais d'utiliser une bibliothèque / jar liée à la version 1.6, alors que j'essayais de compiler pour la version 1.8. Lorsque j'ai changé mon projet pour utiliser également 1.6, le problème d'importation a disparu. Tous les messages d'erreur conduisaient dans de mauvaises directions. Juste dans la source, j'ai trouvé quelques limitations concernant la version 1.6. Et: Par exemple, les .settings et .classpath (File-Search) -> org.eclipse.jdt.core.compiler.codegen.targetPlatform = 1.6 peuvent donner un indice, sur de tels problèmes.


0

J'ai rencontré le même problème et je l'ai résolu en supprimant un fichier jar qui a été ajouté deux fois dans deux dépendances différentes sur mon pom.xml. La suppression de l'une des dépendances a résolu le problème.


0

Pour moi, il semblait que j'ajoutais le mauvais niveau du dossier de la bibliothèque. J'ai téléchargé l' analyseur HTML Jericho, je l'ai décompressé dans eclipse-workspace/libraries/jericho-html-3.4/

Ensuite, lorsque vous l'ajoutez en tant que dossier de bibliothèque externe, l'astuce était de naviguer vers ce dossier, de mettre en surbrillance le dossier «classes» et d'appuyer sur Ouvrir. J'avais déjà essayé d'ajouter à la fois le parent et divers niveaux de sous-dossiers et cela ne fonctionnait pas.

Ceci est assez bien expliqué ici , il dit

Vous pouvez également ajouter un dossier de classe , un répertoire contenant des fichiers de classe Java qui ne sont pas dans un JAR.

Il y a deux leçons apprises ici pour moi, excuses si elles sont hors sujet:

  1. Lisez attentivement les instructions - comme dans un mot!

  2. N'abandonnez pas - c'est la première fois que j'ajoute une bibliothèque, il m'a fallu environ deux heures pour l'ajouter.


0

Solution pour Eclipse IDE

Dans mon cas , je l' ai fixé en corrigeant l' un de ces deux fichiers qui peuvent être corrompus: .classpath ou .project .

Pour réparer l' un des fichiers corrompus, vous pouvez copier à partir d' un autre projet qui a à la fois le .project fichier ou .classpath fichier en question et sans erreur. Mais assurez-vous de ne pas ajouter de paramètres supplémentaires qui ne seront pas utilisés.


0

[ Travail du cadre Code Igniter ] [ Importer la bibliothèque ]

Essayez de cliquer avec le bouton droit de la souris sur le projet dans une vue de l'Explorateur de projets, choisissez Actualiser . Tous les marqueurs d'erreur sont allés étonnamment à mon cas.


Je ne suis pas doué pour Eclipse. J'ai commencé à utiliser Android Studio pour développer Android. Mais, il est ennuyeux de voir des marqueurs d'erreur rouges planer tout le temps alors que l'ensemble du projet fonctionne toujours bien. Cela m'est arrivé lorsque j'utilise composer pour importer une bibliothèque comme ceci:

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

use \Firebase\JWT\JWT;
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.