Когда выбрать «Сгенерировать активатор ...» при создании нового проекта плагина Eclipse - PullRequest
8 голосов
/ 18 мая 2010

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

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

альтернативный текст http://img179.imageshack.us/img179/6710/newpluginoptions.png

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

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

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

Ответы [ 4 ]

5 голосов
/ 11 апреля 2014

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

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

4 голосов
/ 18 мая 2010

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

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

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

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

1 голос
/ 18 мая 2010

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

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

0 голосов
/ 18 мая 2010

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

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

...