Ajoutez le fichier jar qui contient iglu.ir.TermVector dans le chemin source de votre projet.
Harry Joy le
2
Si vous êtes sûr que le cours est fourni, essayez de nettoyer et d'actualiser tous vos projets
Mirco
Cela m'est arrivé à cause de dépendances transitives dans mes bocaux
Janac Meena
exactement! ce fichier jar doit être présent dans les dépendances pom.xml.
gaurav le
Réponses:
193
Cela signifie: "Une classe que vous utilisez a besoin d'une autre classe qui n'est pas sur le chemin des classes." Vous devez vous assurer (comme Harry Joy le suggère) d'ajouter le fichier jar requis au chemin de classe.
Réponse universelle et simple qui m'aide beaucoup dans des cas différents :) THX
Mariusz Chw
Lorsque vous essayez de supprimer des classes en particulier, vérifiez que les classes parentes font référence au type manquant. Si ce n'est pas toujours ce que signifie ce message, c'est probablement ce qu'il signifie la plupart du temps.
butallmj
Oui, j'ai trouvé que c'était dû à des pots manquants dans des pots référencés :) Merci.
Ali Imran
21
@Arne, pourquoi dit-on indirectement référencé alors? N'aurait-il pas dû dire qu'il n'est pas du tout référencé?
Pacerier
2
@Pacerier ce ne serait pas vrai. Ce n'est pas votre code qui fait directement référence à ce type, mais plutôt quelque chose que votre code utilise, donc la dépendance de votre code à ce type est "seulement" transitive, mais elle est là. «Indirectement» vous indique où chercher.
hiergiltdiestfu
22
Il s'agit aussi probablement d'une question de confusion d'Eclipse que d'une erreur réelle. J'ai ignoré l'erreur et exécuté le service Web dont il se plaignait endpointInterface, et cela fonctionnait bien, sauf pour avoir à gérer la boîte de dialogue chaque fois que je voulais l'exécuter. Juste une autre erreur opaque qui ne me dit rien.
Ce n'est pas non plus dans un bocal. C'est dans l'un des projets inclus dans tous les projets inclus où cela est pertinent.
Jerry Miller
3
J'ai rencontré ce problème dans eclipse, mais la construction via maven a bien fonctionné. Le correctif consistait à supprimer et à réimporter le projet dans l'espace de travail eclipse qui contenait les classes requises.
PiersyP
Cela peut arriver parfois, mais j'ai rencontré des erreurs qui donnent la même réponse et le projet ne peut pas se construire.
Christopher Connery
13
Cela m'arrive parfois, j'ai toujours corrigé cela avec la commande "mvn eclipse: clean" pour nettoyer les anciennes propriétés puis exécuter mvn eclipse: eclipse -Dwtpversion = 2.0 (pour un projet web bien sûr). Il y a quelques anciennes propriétés enregistrées, donc éclipse est parfois confuse.
J'ai nettoyé le projet (de Project-> Clean ...) et cela a fonctionné.
Anu Shibin Joseph Raj
mvn eclipse:cleanet / ou mvn eclipse:eclipsesemblent être le tour de magie pour le faire fonctionner.
Antoine Martin
13
J'ai eu cette erreur à cause d'un référentiel maven local corrompu .
Donc, pour résoudre le problème, tout ce que j'avais à faire était d'aller dans mon référentiel et de supprimer le dossier où se trouvait le .jar concerné, puis de forcer un update mavendans Eclipse.
Cela a fonctionné pour moi, contrairement à ce qui précède. Le problème est survenu lorsqu'un de mes coéquipiers a mis à jour la version d'un référentiel à partir de pom.
iaL
8
Il semble que cela ait été un problème connu (bogue 67414) qui a été résolu dans la version 3.0 ... quelqu'un a commenté qu'il se produisait également pour eux dans la version 3.4.
En attendant, la solution consiste à supprimer la bibliothèque système JRE du projet, puis à l'ajouter à nouveau.
Here are the steps:
Accédez aux propriétés du projet avec l'erreur de construction (clic droit> Propriétés)
Affichez l'onglet "Bibliothèques" dans la section "Chemin de construction"
Recherchez la "Bibliothèque système JRE" dans la liste (si elle est manquante, ce message d'erreur n'est pas un bogue d'éclipse mais un projet mal configuré)
Supprimez la «bibliothèque système JRE»
Cliquez sur "Ajouter une bibliothèque ...", sélectionnez "Bibliothèque système JRE" et ajoutez le JRE approprié pour le projet (par exemple, 'Workspace JRE par défaut')
Appuyez sur "Terminer" dans la sélection de la bibliothèque et "OK" dans les propriétés du projet, puis attendez la reconstruction du projet
Oui, j'ai eu le même problème avec spring-web-3.0.1.RELEASE, alors qu'il était enregistré en tant que dépendance dans pom.xml, et fonctionnait déjà comme une dépendance dans certaines références, lorsque j'ai créé un http.csrf (). disable (). cors (). disable (). httpBasic (). et (). authorizeRequests () .antMatchers (PUBLIC_MATCHERS) .permitAll (). anyRequest (). authenticated (); Il est tombé en panne, puis j'ai téléchargé le fichier jar et je l'ai importé de manière manuelle traditionnelle.
Tsakiroglou Fotis
5
Cette erreur se produit lorsque les classes du fichier jar ne suivent pas la même structure que celle de la structure de dossiers du fichier jar.
Par exemple, si votre fichier de classe a le package com.test.exam et que le fichier classes.jar créé à partir de ce fichier de classe a la structure test.exam ... une erreur sera générée. Vous devez corriger la structure du package de votre classes.jar, puis l'inclure dans le chemin de construction ecplipse ...
J'ai eu cette exception parce qu'eclipse fonctionnait dans une version différente de jdk, vient de changer pour la bonne, nettoyer et construire et a fonctionné!
J'ai eu un cas intéressant de ce problème avec Eclipse 4.4.2. Mon projet (P1) a référencé une classe externe (projet P2) avec deux méthodes avec le même nom mais des types d'arguments différents:
public static void setItem(Integer id) …
public static void setItem(Item item) …
Le type Itemétait contenu dans un troisième projet P3, que je ne voulais pas voir ici. P1 n'a appelé que la première méthode:
ExternalClass.setItem(Integer.valueOf(12345));
Donc, la deuxième méthode, qui utilisait la Itemclasse, n'a pas été utilisée, et il est vrai que P3 n'était pas dans le chemin de classe de la compilation - pourquoi devrait-il s'il n'est pas utilisé.
Toujours Eclipse m'a dit
The type ...Item cannot be resolved.
It is indirectly referenced from required .class files
La compilation à partir de la ligne de commande n'a pas produit de tels problèmes. Changer le nom de la deuxième méthode (inutilisée ici!) A également fait disparaître le problème dans Eclipse.
Si vous ne trouvez toujours rien de mal avec votre configuration, vous pouvez essayer Projet -> Nettoyer et nettoyer tous les projets de l'espace de travail.
EDIT: Désolé, je n'ai pas vu la suggestion de verbose_mode ... même chose
Pour moi, cela se produit lorsque je mets à niveau mon jdk vers la version 1.8.0_60 avec mon ancien ensemble de jars qui est utilisé depuis longtemps. Si je reviens à jdk1.7.0_25, tous ces problèmes ont disparu. Cela semble poser un problème de compatibilité entre le JRE et les bibliothèques.
Dans mon cas, j'ai créé un projet et fait son minSdkVersion=9et targetSdkVersion=17. J'ai utilisé généré automatiquement libs/android-support-v4.jar. J'ai également dû utiliser l' ActionBarActivityutilisation android-support-v7-appcomapt.jar. J'ai donc simplement copié le android-support-v7-appcompat.jarfichier du android-sdk/extras/andrid/support/v7/appcompat/libsdossier et l'ai collé dans mon libsdossier de projet . Et cela a causé l'erreur ci-dessus. Donc, fondamentalement, j'avais également besoin de mettre un android-support-v4.jarfichier android-sdk/extras/andrid/support/v7/appcompat/libsdans mon libsdossier de projet . À ma connaissance, le v7.jarfichier avait des dépendances sur le v4.jarfichier. Donc, il avait besoin de son propre v4.jarfichier, au lieu de mon projet, un v4.jarfichier créé automatiquement .
Je l'ai corrigé rapidement et simplement de cette façon (j'utilise la version ADT: v21.0.0-531062 sur l'édition familiale de Windows XP)
Fichier manifeste ouvert.
Modification du projet existant minSdkVersion à la même valeur que maxSdkVersion (conseil: il peut être bon de créer un nouveau projet et de voir ce que c'est maxSdkVersion)
Enregistrez le fichier manifeste.
Cliquez avec le bouton droit sur le projet et sélectionnez Créer un projet.
Dans le menu supérieur: Projet - Nettoyer .. - cochez Seulement le projet pertinent, ci-dessous j'ai coché Démarrer une construction immédiatement et Construire uniquement les projets sélectionnés et OK.
ouvrez le fichier java - plus d'erreurs rouges!
Revenez à l'étape 1 ci-dessus et remplacez Back minSdkVersion par sa valeur d'origine (pour prendre en charge autant de versions Android que possible).
Cela a fonctionné MAIS le problème revient tous les quelques jours. Je fais la même chose que ci-dessus et ça résout et me permet de me développer.
En plus de la cause déjà suggérée de l'absence d'un fichier de classe, cette erreur peut également indiquer un fichier de classe en double, eclipse signale cette erreur lorsqu'un fichier de classe sur le chemin de construction utilise une autre classe qui a plusieurs définitions dans le chemin de construction.
Puisque vous nous donnez très peu de détails, ce que vous avez probablement fait, ce qui est une erreur incroyablement facile à faire, c'est qu'au lieu de vous diriger vers
Build Path > Configure Build Path > Projects
et en ajoutant votre dossier de projet supplémentaire à partir de là, à la place, vous êtes allé à
Build Path > Configure Build Path > Libraries
et a ajouté votre dossier de projet à partir de là à la place.
C'est certainement le cas si votre code est correct, mais lors de la réorganisation automatique des importations via le ctrl+space raccourci, au lieu de vos instructions d'importation faisant référence à com.your.additionalproject, vos références pointent toutes vers bin.com.your.additionalproject.
Notez le bac. Cela signifie que vous faites indirectement référence à votre classe en traitant votre autre structure de dossiers de projet comme une bibliothèque, ce qui fait que votre IDE fait tout le nécessaire pour trouver la classe exactement binaire à laquelle vous faites référence.
Pour corriger cela, supprimez le dossier des bibliothèques, ajoutez-le à la place sous l'onglet Projets et réorganisez vos importations. Votre projet devrait fonctionner correctement.
Lorsque j'utilise une nouvelle version d'Eclipse et que j'essaye d'utiliser l'espace de travail précédent que j'ai utilisé avec l'ancienne version d'Eclipse, cette erreur s'est produite.
Voici comment je résous le problème:
Cliquez avec le bouton droit sur mon projet sur l'Explorateur de packages -> Propriétés -> Chemin de construction Java -> Bibliothèques -> Je vois une erreur (signe croisé) sur la bibliothèque système JRE. Parce que le chemin est introuvable. -> Double-cliquez sur la bibliothèque système JRE -> Sélectionnez l'option "Workspace Default JRE" -> Terminer -> OK. -> BUM IL FONCTIONNE
Dans mon cas, c'était le résultat de l'ajout d'une nouvelle dépendance à mon pom.xmlfichier.
La nouvelle dépendance dépendait d'une ancienne version d'une bibliothèque (2.5). Cette même bibliothèque était requise par une autre bibliothèque de monpom.xml , mais elle nécessitait la version 3.0.
Pour une raison quelconque, lorsque Maven rencontre ces conflits, il omet simplement la version la plus récente. Dans Eclipse lors de la visualisation, pom.xmlvous pouvez sélectionner l'onglet "hiérarchie des dépendances" en bas pour voir comment les dépendances sont résolues. Vous trouverez ici si la bibliothèque (et donc la classe) en question a été omise pour cette raison.
Dans mon cas, c'était aussi simple que de verrouiller la version la plus récente. Vous pouvez le faire en cliquant avec le bouton droit sur l'entrée - il y a une option pour la verrouiller dans le menu contextuel.
Réponses:
Cela signifie: "Une classe que vous utilisez a besoin d'une autre classe qui n'est pas sur le chemin des classes." Vous devez vous assurer (comme Harry Joy le suggère) d'ajouter le fichier jar requis au chemin de classe.
la source
Il s'agit aussi probablement d'une question de confusion d'Eclipse que d'une erreur réelle. J'ai ignoré l'erreur et exécuté le service Web dont il se plaignait endpointInterface, et cela fonctionnait bien, sauf pour avoir à gérer la boîte de dialogue chaque fois que je voulais l'exécuter. Juste une autre erreur opaque qui ne me dit rien.
la source
Cela m'arrive parfois, j'ai toujours corrigé cela avec la commande "mvn eclipse: clean" pour nettoyer les anciennes propriétés puis exécuter mvn eclipse: eclipse -Dwtpversion = 2.0 (pour un projet web bien sûr). Il y a quelques anciennes propriétés enregistrées, donc éclipse est parfois confuse.
la source
mvn eclipse:clean
et / ou mvneclipse:eclipse
semblent être le tour de magie pour le faire fonctionner.J'ai eu cette erreur à cause d'un référentiel maven local corrompu .
Donc, pour résoudre le problème, tout ce que j'avais à faire était d'aller dans mon référentiel et de supprimer le dossier où se trouvait le .jar concerné, puis de forcer un
update maven
dans Eclipse.la source
Il semble que cela ait été un problème connu (bogue 67414) qui a été résolu dans la version 3.0 ... quelqu'un a commenté qu'il se produisait également pour eux dans la version 3.4.
En attendant, la solution consiste à supprimer la bibliothèque système JRE du projet, puis à l'ajouter à nouveau.
Accédez aux propriétés du projet avec l'erreur de construction (clic droit> Propriétés)
Affichez l'onglet "Bibliothèques" dans la section "Chemin de construction"
Recherchez la "Bibliothèque système JRE" dans la liste (si elle est manquante, ce message d'erreur n'est pas un bogue d'éclipse mais un projet mal configuré)
Supprimez la «bibliothèque système JRE»
Cliquez sur "Ajouter une bibliothèque ...", sélectionnez "Bibliothèque système JRE" et ajoutez le JRE approprié pour le projet (par exemple, 'Workspace JRE par défaut')
Appuyez sur "Terminer" dans la sélection de la bibliothèque et "OK" dans les propriétés du projet, puis attendez la reconstruction du projet
Espérons que l'erreur sera résolue ...
la source
Cette erreur se produit lorsque les classes du fichier jar ne suivent pas la même structure que celle de la structure de dossiers du fichier jar.
Par exemple, si votre fichier de classe a le package com.test.exam et que le fichier classes.jar créé à partir de ce fichier de classe a la structure test.exam ... une erreur sera générée. Vous devez corriger la structure du package de votre classes.jar, puis l'inclure dans le chemin de construction ecplipse ...
la source
J'ai eu cette exception parce qu'eclipse fonctionnait dans une version différente de jdk, vient de changer pour la bonne, nettoyer et construire et a fonctionné!
la source
J'ai eu un cas intéressant de ce problème avec Eclipse 4.4.2. Mon projet (P1) a référencé une classe externe (projet P2) avec deux méthodes avec le même nom mais des types d'arguments différents:
Le type
Item
était contenu dans un troisième projet P3, que je ne voulais pas voir ici. P1 n'a appelé que la première méthode:Donc, la deuxième méthode, qui utilisait la
Item
classe, n'a pas été utilisée, et il est vrai que P3 n'était pas dans le chemin de classe de la compilation - pourquoi devrait-il s'il n'est pas utilisé.Toujours Eclipse m'a dit
La compilation à partir de la ligne de commande n'a pas produit de tels problèmes. Changer le nom de la deuxième méthode (inutilisée ici!) A également fait disparaître le problème dans Eclipse.
la source
Ce qui a corrigé ça pour moi était
right clicking on project > Maven > Update Project
la source
Si vous ne trouvez toujours rien de mal avec votre configuration, vous pouvez essayer Projet -> Nettoyer et nettoyer tous les projets de l'espace de travail.
EDIT: Désolé, je n'ai pas vu la suggestion de verbose_mode ... même chose
la source
Pour moi, cela se produit lorsque je mets à niveau mon jdk vers la version 1.8.0_60 avec mon ancien ensemble de jars qui est utilisé depuis longtemps. Si je reviens à jdk1.7.0_25, tous ces problèmes ont disparu. Cela semble poser un problème de compatibilité entre le JRE et les bibliothèques.
la source
J'ai eu l'erreur lorsque je modifiais simplement certains paramètres svn et rien dans le code. Le simple nettoyage des projets a corrigé l'erreur.
la source
Dans mon cas, j'ai créé un projet et fait son
minSdkVersion=9
ettargetSdkVersion=17
. J'ai utilisé généré automatiquementlibs/android-support-v4.jar
. J'ai également dû utiliser l'ActionBarActivity
utilisationandroid-support-v7-appcomapt.jar
. J'ai donc simplement copié leandroid-support-v7-appcompat.jar
fichier duandroid-sdk/extras/andrid/support/v7/appcompat/libs
dossier et l'ai collé dans monlibs
dossier de projet . Et cela a causé l'erreur ci-dessus. Donc, fondamentalement, j'avais également besoin de mettre unandroid-support-v4.jar
fichierandroid-sdk/extras/andrid/support/v7/appcompat/libs
dans monlibs
dossier de projet . À ma connaissance, lev7.jar
fichier avait des dépendances sur lev4.jar
fichier. Donc, il avait besoin de son proprev4.jar
fichier, au lieu de mon projet, unv4.jar
fichier créé automatiquement .la source
Je l'ai corrigé rapidement et simplement de cette façon (j'utilise la version ADT: v21.0.0-531062 sur l'édition familiale de Windows XP)
Cela a fonctionné MAIS le problème revient tous les quelques jours. Je fais la même chose que ci-dessus et ça résout et me permet de me développer.
la source
En plus de la cause déjà suggérée de l'absence d'un fichier de classe, cette erreur peut également indiquer un fichier de classe en double, eclipse signale cette erreur lorsqu'un fichier de classe sur le chemin de construction utilise une autre classe qui a plusieurs définitions dans le chemin de construction.
la source
Puisque vous nous donnez très peu de détails, ce que vous avez probablement fait, ce qui est une erreur incroyablement facile à faire, c'est qu'au lieu de vous diriger vers
Build Path > Configure Build Path > Projects
et en ajoutant votre dossier de projet supplémentaire à partir de là, à la place, vous êtes allé à
Build Path > Configure Build Path > Libraries
et a ajouté votre dossier de projet à partir de là à la place.
C'est certainement le cas si votre code est correct, mais lors de la réorganisation automatique des importations via le
ctrl+space
raccourci, au lieu de vos instructions d'importation faisant référence à com.your.additionalproject, vos références pointent toutes vers bin.com.your.additionalproject.Notez le bac. Cela signifie que vous faites indirectement référence à votre classe en traitant votre autre structure de dossiers de projet comme une bibliothèque, ce qui fait que votre IDE fait tout le nécessaire pour trouver la classe exactement binaire à laquelle vous faites référence.
Pour corriger cela, supprimez le dossier des bibliothèques, ajoutez-le à la place sous l'onglet Projets et réorganisez vos importations. Votre projet devrait fonctionner correctement.
la source
Lorsque j'utilise une nouvelle version d'Eclipse et que j'essaye d'utiliser l'espace de travail précédent que j'ai utilisé avec l'ancienne version d'Eclipse, cette erreur s'est produite.
Voici comment je résous le problème:
Cliquez avec le bouton droit sur mon projet sur l'Explorateur de packages -> Propriétés -> Chemin de construction Java -> Bibliothèques -> Je vois une erreur (signe croisé) sur la bibliothèque système JRE. Parce que le chemin est introuvable. -> Double-cliquez sur la bibliothèque système JRE -> Sélectionnez l'option "Workspace Default JRE" -> Terminer -> OK. -> BUM IL FONCTIONNE
FYI.
la source
Dans mon cas, c'était le résultat de l'ajout d'une nouvelle dépendance à mon
pom.xml
fichier.La nouvelle dépendance dépendait d'une ancienne version d'une bibliothèque (2.5). Cette même bibliothèque était requise par une autre bibliothèque de mon
pom.xml
, mais elle nécessitait la version 3.0.Pour une raison quelconque, lorsque Maven rencontre ces conflits, il omet simplement la version la plus récente. Dans Eclipse lors de la visualisation,
pom.xml
vous pouvez sélectionner l'onglet "hiérarchie des dépendances" en bas pour voir comment les dépendances sont résolues. Vous trouverez ici si la bibliothèque (et donc la classe) en question a été omise pour cette raison.Dans mon cas, c'était aussi simple que de verrouiller la version la plus récente. Vous pouvez le faire en cliquant avec le bouton droit sur l'entrée - il y a une option pour la verrouiller dans le menu contextuel.
la source
Pointez le JRE dans le chemin de construction vers un JDK. Cela a fonctionné pour moi.
la source