Подтвердить что ты не робот

Eclipse Иерархия типа... не соответствует @Configurable аннотации

Я разрабатываю приложение Spring/Vaadin/Hibernate.

Все работает, но у меня все еще есть следующие маркеры ошибок в Eclipse STS 2.8.1:

The hierarchy of the type BankView is inconsistent
The hierarchy of the type AbstractEntityView is inconsistent

У меня есть следующая структура для моих просмотров:

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 !");
        }
    }
}

Что вызывает эти маркеры ошибок?

4b9b3361

Ответ 1

На самом деле проблема заключалась в том, что я создал AbstractListView @Configurable. Когда я помещаю эту аннотацию в последний класс (например, BankView), все ошибки исчезли.

Спасибо всем за помощь. Если кто-то имеет ту же ошибку, они найдут решение в разных ответах.

Ответ 2

В моем случае я обнаружил, что ошибка The hierarchy of the type ... is inconsistent в Eclipse вызвана классом jar файла, из которого я расширял свой класс, ссылаясь на класс, который не был в пути сборки.

Итак, если у вас есть:

// in other.dep.jar
class FromOtherDepJar {}

// in dep.jar
class FromDepJar extends FromOtherDepJar {}

// in the current project
class ProblematicClass extends FromDepJar {}

Если dep.jar находится в пути к пути проекта, но other.dep.jar нет, Eclipse будет показывать ошибку The hierarchy of the type ... is inconsistent.

Взгляните на представление проблем в Eclipse, столбец "Описание" более подробен о том, что представляет собой настоящая проблема, чем наведение.

Ответ 3

Переконфигурируйте путь сборки для решения проблемы.

Ответ 4

Вы пытались закрыть и открыть затмение? Иногда это помогает. Мое затмение (возможно, потому, что я на платформе Windows) часто показывает такие ошибки, единственное решение - выйти из затмения и снова открыть позже.

Ответ 5

Другая причина - ссылка на суперкласс или суперинтерфейс, который существует, но находится в другом пакете и не является ни импортированным, ни полным.

Это произошло после использования рефакторинга Eclipse для перемещения абстрактных классов, унаследованных от вложенного интерфейса. После перемещения все подклассы имели сообщение "иерархия типа X несовместимо". Проблема была решена путем импорта вручную в абстрактных классах, которые были перемещены.

Ответ 6

Моя проблема заключалась в том, что классы/баны были перекомпилированы вручную за пределами Eclipse с помощью задач ant и gradle. Обновление всех проектов и восстановление в затмении заставили ошибки исчезнуть.

Ответ 7

Их вероятность того, что ваши maven-зависимые объекты не распознаются. Посмотрите, есть ли у вас Maven для данного проекта. В Eclipse Maven можно активировать, щелкнув правой кнопкой мыши на проекте и выбрав Maven → Включить зависимости Maven.

Ответ 8

В моем случае я использовал неправильную версию JRE.

Ответ 9

У меня была эта проблема, когда я добавил actionbarsherlock в свой проект Android и забыл удалить библиотеку поддержки из моего оригинального проекта. Решение состоит в том, чтобы удалить android-support-v4.jar из вашего проекта и очистить проект.. он должен загрузить библиотеку из папки actionbarsherlock.

Ответ 10

Я знаю, что это, вероятно, не так, но только для дополнительной информации эта ошибка может быть вызвана при использовании иерархии интерфейсов, и есть некоторая ошибка (например, неправильные генерики) где-то выше в вашей иерархии

Ответ 11

Эта ошибка также появляется, когда происходит несоответствие библиотеки поддержки android-совместимости, т.е. когда две внешние библиотеки, которые вы используете, имеют две версии библиотеки поддержки, которые показывают эту ошибку (что я сделал, я сделал их обеими версиями, удалив их и скопировав поддержка от другой сторонней библиотеки к этому)

Ответ 12

Ошибка говорит о том, что вы не указали какой-либо ссылочный JAR.

В моем случае я получил эту ошибку при создании проекта Spring MVC. Я пропустил добавить связанные файлы JAR (spring -context-4.1.0.RELEASE.jar и spring -web-4.1.0.RELEASE.jar) в пути сборки.

Хотя уже добавлены другие Spring JARs (Core, Beans, AOP и MVC), но также были упомянуты выше указанные JAR файлы, Как только я добавил другие JAR, ошибка исчезла.

Ответ 13

Я решил эту ошибку Иерархия типа ServiceController является непоследовательной проблемой удалением всех Referenced Libraries jars в Build Path и re добавить все банки в eclipse IDE.

Ответ 14

Я решил эту проблему, добавив javax.servlet-api-3.0.1.jar. мой инструмент разработки - Eclipse, но мой проект был разработан под myeclipse, а затем, когда я импортирую проект в eclipse, он выбрасывает "иерархию типа SysUserFilter непоследовательна", поэтому я думаю, что myeclipse автоматически предоставляет javax.servlet-api-3.0.1.jar, но eclipse not.so нужно вручную импортировать.

Ответ 15

Перейдите и фактически проверьте свой путь сборки (Свойства проекта = > Путь сборки Java = > Библиотеки), и диалог может показать вам, что что-то отсутствует. Это была моя проблема, когда проект работал, но через месяц или два он прекратил работать, потому что изменилась настройка JRE.