146 votes

Erreur de compilation Eclipse: la hiérarchie du type 'Nom de classe' est incohérente

J'ai téléchargé un logiciel open source écrit en Java et essayé de le compiler à l'aide d'Eclipse. J'ai eu l'erreur: " La hiérarchie du type 'Nom de la classe' est incohérente " dans certains fichiers. Quelles sont les causes de ces erreurs et comment puis-je les corriger?

172voto

LaGrandMere Points 6170

Cela signifie que vous essayez d'implémenter une interface non existante ou que vous étendez une classe non existante.

Essayez de rafraîchir votre Eclipse.

Si cela ne fonctionne pas, cela peut signifier que vous avez une référence à un fichier JAR qui ne se trouve pas dans le chemin de génération. Vérifiez le chemin d'accès aux classes de votre projet et vérifiez que le fichier jar contenant l'interface ou la classe y est.

13voto

Johan Valentin Points 61

Vérifiez vos erreurs (onglet "marqueurs"). J'ai aussi eu l'erreur suivante: "L'archive pour la bibliothèque requise dans le projet ne peut pas être lue ..." et quand cela a été corrigé, "l'erreur incohérente" a disparu. En fait, j’avais ajouté des fichiers jar au chemin de construction, mais d’une certaine manière, ils ne pouvaient pas être lus avec l’erreur "L’archivage de la bibliothèque requise dans le projet ne peut pas être lu ou n’est pas un fichier ZIP valide". Alors j'ai changé pour les ajouter en tant que Jars Externes - cela aide et tous les problèmes de compilation ne sont plus!

2voto

James Jithin Points 2573

Vous verrez cette erreur dans le cas où une classe dans votre fichier de bibliothèque que vous avez dans classpath a une référence à une classe non existante qui pourrait être dans un autre fichier jar. Ici, j'ai reçu cette erreur lorsque je n'ai pas ajouté org.springframework.beans-3.1.2.RELEASE.jar et que j'avais étendu une classe de org.springframework.jdbc.core.support.JdbcDaoSupport , ce qui correspond à org.springframework.jdbc-3.1.2.RELEASE.jar de mon classpath.

2voto

priti Points 229

Le problème peut être que vous avez inclus incorrecte des bocaux. J'ai eu le même problème et la raison était que j'avais inclus par défaut incorrecte JRE bibliothèque dans le build path du projet. J'avais installé Java avec une autre version et a été notamment JRE fichiers de Java avec une version différente. (J'avais installé JRE 1.6 dans mon système et a été d'avoir JRE bibliothèque de 1,7 inclus dans le chemin de génération en raison précédemment installé Java) Peut-être vous pouvez vérifier si le JRE de la bibliothèque que vous avez inclus dans le build path est de bonne version de ie. de la version de Java que vous avez installé dans votre système.

2voto

Nicolas Barrera Points 153

J'ai connu ce problème sur Eclipse Juno, la cause était que bien que certains de printemps pots ont été inclus par les dépendances maven ils ont été inclus dans les versions incorrectes.

Donc, vous devriez vérifier si vous utilisez un cadre modulaire, comme le printemps que chaque module (ou au moins le plus important: de base, les haricots, le contexte, les aop, tx, etc.) sont dans la même version.

Pour résoudre le problème j'ai utilisé maven dependnecy exclusions afin d'éviter les erreurs de la version transitoire de dépendances.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X