Плагин не начинается с приложения - PullRequest
0 голосов
/ 11 января 2012

У меня есть приложение RCP, в котором определено несколько плагинов для разделения данных и функций.

Мне нужно, чтобы все плагины активировались при запуске приложения (пара из них должна зарегистрироваться для сетевых событий). У меня флажок «Активировать этот плагин, когда один из его классов загружен» снят, из просмотра xml, когда этот флажок установлен и снят, кажется, что это на самом деле индикатор отложенной загрузки.

Если я добавлю плагины на страницу конфигурации в .product, я получу ClassNotFoundExceptions для каждого из активаторов.

Каков наилучший способ автоматического запуска плагина при запуске приложения RCP?

Ответы [ 2 ]

1 голос
/ 11 января 2012

Я бы предпочел, чтобы плагин обладал минимальными знаниями о других плагинах

В этом случае вы можете делать то, что делает Eclipse: определить точку расширения в панели запуска и разрешить всем нужным плагинамчтобы начать расширять эту точку расширения.

0 голосов
/ 11 января 2012

Я бы включил «Активировать ..., когда один из его классов загружен», а затем просто убедитесь, что вы трогаете все классы, которые вам нужны во время запуска (что вам придется делать в любом случае, чтобы ваш код работал ). Я думаю, что есть некоторые устаревшие методы принудительной активации плагинов при запуске, но вам не нужно идти туда. В общем, просто вызов класса в плагине приведет к его загрузке и запуску, если все настроено правильно, вам не нужно делать ничего особенного.

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

...