У меня есть панель инструментов переключателя перспективы, которую я добавил как элемент управления инструментом в мой файл e4xmi
(Windows -> Trimmed Window -> TrimBars -> Window Trim -> Tool Control
).
Я аннотировал метод с помощью @PostConstruct
. Это успешно вызывается и передает родителю Composite
in.
@PostConstruct
private void postConstruct(final Composite parent)
{
// Do Something
}
У меня проблема в том, что это вызывается дважды.
В первый раз он вызывает конструктор и создает новый экземпляр. Затем он сразу же удаляет его и выдает исключение виджета.
Во второй раз, когда он вызывается, он генерирует другой экземпляр. Панель инструментов правильно и добавляет его в графический интерфейс, как и ожидалось.
Это приложение RCP 3, работающее в режиме совместимости с RCP 4. Я добавил файл e4xmi
и указал на него, используя applicationXMI
в файле plugin.xml
.
Я читал похожий вопрос здесь хотя я чувствую, что их решение может отличаться от того, что может мне помочь.
Почему это строится дважды?
Обновление
Я заметил, что это происходит только в том случае, если я сначала очищаю кеш, установив флажок Clear
в конфигурации запуска. Если я не очищаю кеш, он вызывает его только один раз.