2015-11-09 2 views
1

У меня возникли проблемы с переносом моего 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

+0

Как создается этот класс? Является ли это частью приложения Application.e4xmi? –

+0

Точно. Класс-URI указывает на класс MyView1. Идентификатор идентичен –

+0

Возможно, у инжектора возникают проблемы с некоторыми из полей, которые вы не указали. Посмотрите в файле .log в каталоге рабочей области. Metadata, чтобы узнать, есть ли более подробное сообщение –

ответ

1

Одна из причин неудачного запуска @PostConstruct - это код прямой инъекции, который не может найти объекты, которые вводятся в полях (или вложенный конструктор). Если это произойдет, инжектор просто регистрирует ошибку и останавливается.

Ошибка зарегистрирована в файле .log в каталоге «.metadata» рабочей области.

Смежные вопросы