Когда выбирать «Создать активатор» при создании нового проекта подключаемого модуля Eclipse

Существует множество руководств по Eclipse RCP, которые начинаются с очевидного первого шага: «Создайте новый проект подключаемого модуля...».

Кажется, что ок. 70% из них указывают проверку "Создать активатор, класс Java, управляющий жизненным циклом плагина". Другие специально говорят, что не проверяйте этот переключатель.

http://img179.imageshack.us/img179/6710/newpluginoptions.png

Мне непонятно, что вам дает генерация класса активатора, когда он вам нужен, а когда нет.

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

Любые советы/эмпирические правила по выбору этой опции при создании проектов плагинов Eclipse?


person Anon Support 2010    schedule 18.05.2010    source источник


Ответы (4)


Один из способов узнать это — посмотреть на сгенерированный класс. Оказывается, это подкласс AbstractUIIPplugin. Ознакомьтесь с JavaDoc, он предоставляет такие услуги, как управление настройками, реестр образов и тому подобное. Если вам нужно что-то из этого, вы можете использовать его. Это подкласс Plugin, что вполне логично.

Кроме того, он реализует BundleActivator, который имеет некоторые полезный JavaDoc. Это предоставляет вам заглушки для start() и stop(), что позволяет вам подключить сюда свой собственный код. Он также генерирует статический удобный метод getDefault(), который дает вам активатор. И это все, что нужно сделать.

person jastram    schedule 11.04.2014

Из самого Eclipse (контекстно-зависимая справка для диалогового окна) говорится об этом, что незначительно полезно.

«Активатор — это класс Java, который управляет жизненным циклом подключаемого модуля. Он нужен только в том случае, если вам требуется выполнить работу при запуске или завершении работы вашего подключаемого модуля».

При включении этой опции для вашего нового проекта автоматически создается класс Activator.java.

Таким образом, похоже, что если (будучи в некоторой степени новичком) вы понятия не имеете, почему или какую дополнительную работу вам нужно выполнить при запуске / завершении работы плагина, вы можете безопасно оставить это значение ВЫКЛЮЧЕННЫМ. Всего на один файл .java меньше, чем в исходной папке вашего проекта.

person Anon Support 2010    schedule 18.05.2010
comment
Но вопрос был в том, "когда мне создавать активатор", а не "как...". - person FelixM; 19.05.2010
comment
хорошая точка зрения. удалил последний раздел и задал соответствующий вопрос. есть ли способ вставить ссылку на другие связанные вопросы? - person Anon Support 2010; 19.05.2010

Если вы действительно хотите знать, взгляните на спецификацию OSGi; выпуск 4 является текущей версией. Начиная с Eclipse 3, каждый подключаемый модуль представляет собой пакет OSGi. Активатор пакета уведомляется, когда пакет запускается и останавливается, что обычно происходит при запуске и завершении работы Eclipse. Вы также можете установить прослушиватели, которые уведомляются о запуске других пакетов (например, плагинов), или зарегистрировать службы OSGi.

Например, я использую прослушиватель для запуска определенных операций после завершения запуска моего пакета; в противном случае я могу столкнуться с проблемами загрузчика классов. Вам также может понадобиться активатор для хранения BundleContext, который позволяет загружать классы и дает вам доступ к имени и версии пакета.

person FelixM    schedule 18.05.2010

Вот самое близкое объяснение, которое я нашел:

http://dev.eclipse.org/newslists/news.eclipse.platform.rcp/msg23445.html

person Anon Support 2010    schedule 18.05.2010
comment
Ссылка битая - исправьте пожалуйста - person Mr_and_Mrs_D; 08.06.2015