У меня возникли проблемы с переносом моего E3-RCP-приложения на E4. Там я получил 3 части. 2 с образцом содержимого Ларса Фогеля (http://www.vogella.com/tutorials/EclipseRCP/article.html#plugin_creatinge4 «Использование виджета мощности SWT»), чтобы проверить и сравнить его с моей частью.E4 не вызывает мой метод @ PostConstruct
Long Story short (er): Метод, который должен создать контент View, помеченный с помощью @PostConstruct, не будет вызываться, но @PostConstruct из SampleContent будет. Какие могут быть причины? Вызывается конструктор MyView.
Структура моего взгляда выглядит следующим образом:
Many Imports
public class MyView1 implements IRefreshableView, ISomeListener {
a lot of fields, some are injected...
public MyView1() {
reference to the Activator-Class to get some item.
}
@PostConstruct
public void createControls(Composite parent) {
createViewToolbar();``
and much more Part Creation stuff that won´t be invoked...
}
much more methods
@Focus
public void setFocus() {
if (treeViewer.getTree().isVisible()) {
treeViewer.getTree().setFocus();
} else {
mainForm.setFocus();
}
}
}
new class definition in the same file.
END
Извини за не размещение всего кода, как подмигнул 1000 строк длиной:/
I'm с помощью Mars 4.5.1 на Win7
Как создается этот класс? Является ли это частью приложения Application.e4xmi? –
Точно. Класс-URI указывает на класс MyView1. Идентификатор идентичен –
Возможно, у инжектора возникают проблемы с некоторыми из полей, которые вы не указали. Посмотрите в файле .log в каталоге рабочей области. Metadata, чтобы узнать, есть ли более подробное сообщение –