Eclipse La hiérarchie du type ... est incompatible avec @Configurable annotation
Je suis en train d'élaborer un Printemps/Vaadin/Hibernate application.
Tout fonctionne mais j'ai toujours l'erreur suivante marqueurs dans Eclipse STS 2.8.1:
The hierarchy of the type BankView is inconsistent
The hierarchy of the type AbstractEntityView is inconsistent
Je avoir la structure suivante pour mon point de vue:
public class BankView extends AbstractEntityView {
@Resource private BankService bankService;
public void buildLayout() {
super.buildLayout();
//Use of the service here
}
}
public abstract class AbstractEntityView extends AbstractView {
public void buildLayout() {
verticalLayout = new VerticalLayout();
verticalLayout.setSpacing(true);
verticalLayout.setSizeFull();
setContent(verticalLayout);
super.buildLayout();
}
}
@Configurable(preConstruction = true)
public abstract class AbstractView extends com.vaadin.ui.VerticalLayout {
public AbstractView() {
super();
try {
buildLayout();
}
catch (AccessDeniedException e) { //Spring Security
System.out.println("GTFO !");
}
}
}
Ce qui est à l'origine de ces marqueurs d'erreurs?
- Ce message d'erreur est généralement à cause d'une mauvaise classpath. Essayez la reconstruction de l'ensemble du projet, qui donne généralement un plus utile d'erreur,
- Tout d'abord, merci pour la réponse 😉 j'ai déjà essayé d'en construire, rien n'a changé. J'ai essayé de Projet > Nettoyer... il ne fonctionne pas. Dans mon classpath, j'ai essayé de changer l'ordre des bibliothèques, rien n'a changé :/
- double possible de Eclipse erreur de compilation: La hiérarchie de type "nom de la Classe" est en contradiction
Vous devez vous connecter pour publier un commentaire.
Dans mon cas, j'ai trouvé le
The hierarchy of the type ... is inconsistent
erreur dans Eclipse causé par un fichier jar classe à partir de laquelle j'ai été l'extension de ma classe de la référence d'une classe qui n'était pas dans le build path.Donc si vous avez:
Si
dep.jar
est dans le classpath du projet, maisother.dep.jar
n'est-ce pas, Eclipse va montrer laThe hierarchy of the type ... is inconsistent
erreur.Prendre un coup d'oeil à la Vue des Problèmes dans Eclipse, la Description de la colonne est plus prolixe au sujet de ce que le problème réel est que le hover-dessus.
Reconfigurer Construire le Chemin pour résoudre le problème.
Avez-vous essayé de la fermer et d'ouvrir eclipse? Parfois, ça aide. Mon eclipse (probablement parce que je suis dans une plate-forme Windows) montre souvent des erreurs comme ça, la seule solution est de sortir de l'éclipse et le rouvrir plus tard.
Une autre cause est une référence à une super-classe ou superinterface qui existe, mais il est dans un package différent, et n'est ni importés, ni pleinement qualifié.
Cela s'est produit pour moi, après à l'aide d'Eclipse refactoring pour déplacer les classes abstraites qui a hérité d'un imbriquée à l'interface. Après le déménagement, toutes les sous-classes ont eu la "hiérarchie du type X est incompatible" message. Le problème a été résolu par l'importation par la main dans les classes abstraites qui avait été déplacé.
En fait, le problème était que j'ai fait AbstractListView @Configurable. Quand j'ai mis cette annotation sur le dernier de la classe (par exemple BankView), toutes les erreurs ont disparu.
Merci à tous pour l'aide. Si quelqu'un a la même erreur qu'ils vont trouver une solution dans les différentes réponses.
Mon problème était que les classes/pots ont été recompilés manuellement en dehors d'Eclipse en utilisant ant et gradle tâches. Actualisation de tous les projets et les travaux de reconstruction de l'éclipse fait des erreurs disparaissent.
Leur est une possibilité, votre maven dependencys ne sont pas reconnus. Voir si vous avez Maven activé pour ce projet en particulier.
Dans Eclipse, Maven peut être activé par un clic droit sur le projet et en choisissant
Maven -> Activer Maven dependencys.
Dans mon cas, j'ai été en utilisant la mauvaise version du JRE.
J'ai eu ce problème quand j'ai ajouté actionbarsherlock à mon projet android et j'ai oublié de supprimer la prise en charge-de la bibliothèque de mon projet initial. La Solution est de supprimer android-support-v4.jar à partir de votre projet et de nettoyer le projet.. il doit charger la bibliothèque de actionbarsherlock dossier.
Je sais que ce n'est probablement pas le cas ici, mais juste pour de l'information supplémentaire cette erreur peut être provoquée lors de l'utilisation d'une hiérarchie d'interfaces et il y a une erreur (comme le mal de génériques) quelque part plus haut dans la hiérarchie
Cette erreur s'affiche lorsque android support library de non-concordance j'.e lorsque deux bibliothèques externes que vous utilisez sont deux versions de la bibliothèque de prise en charge de cette erreur montre, (ce que j'ai fait était que j'en ai fait les deux mêmes versions par la suppression de l'un et de copier le soutien des autres la troisième partie de la bibliothèque de celui-ci)
J'ai résolu cette erreur La hiérarchie du type ServiceController est incompatible problème par retrait tous
Referenced Libraries
de pots dansBuild Path
et re ajoutez tous les pots dans de l'IDE eclipse.J'ai résolu ce problème en ajouter javax.servlet-api-3.0.1.jar. mon outil de développement Eclipse ,mais mon projet a été élaboré sous la myeclipse ,puis quand j'ai importer le projet dans eclipse ,il jette la hiérarchie du type SysUserFilter est incohérent",donc je pense que myeclipse fournit automatiquement javax.servlet-api-3.0.1.jar mais eclipse non.donc, il faut importer manuellement .
Aller vérifier votre build path (propriétés du Projet => Java Build Path => les Bibliothèques) et la boîte de dialogue pourrais vous montrer que quelque chose est manquante. C'était mon problème, où en était le projet de travail mais après un mois ou deux, il a cessé de travailler parce que mon JRE le programme d'installation a changé.