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
bleuâtre
la source
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.

dogbane
la source
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).

user1133275
la source
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".

Bozho
la source
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.

bleuâtre
la source
17

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

Mettre à jour le projet Maven

albertoiNET
la source
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.

SoldatShen
la source
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

Balkrushna Patil
la source
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 ...

wuppi
la source
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.

Kalahasthi Satyanarayana
la source
5

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

Pantalon Gaurav
la source
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.

Alex P.
la source
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.

Egallardo
la source
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

Atul Waghmare
la source
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.

Evgeny Shmulev
la source
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!

ÖMER TAŞCI
la source
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 ...

val_t
la source
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

kon psych
la source
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

avp
la source
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.

Srinivas Thammanaboina
la source
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.

sravan
la source
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

Rajagopal K
la source
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.

Ravikumar
la source
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.

Ali786
la source
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.

drJava
la source
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.

vivre aimer rire
la source
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.

sqller
la source
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.

Reema
la source
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.

pateksan
la source
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.

Tavo
la source
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;
Nguyen Tan Dat
la source