Использование плагина eclipse независимо от eclipse - PullRequest
5 голосов
/ 16 июля 2010

Могу ли я программно использовать плагин Eclipse в своем коде Java (чтобы он не зависел от затмения)?

Ответы [ 5 ]

1 голос
/ 16 июля 2010

Да, вы можете, если:

  • Плагин, который вы хотите использовать, не имеет внешних зависимостей => это просто плагин библиотеки

  • Плагин, который вы хотите использовать, и ВСЕ его зависимости находятся в вашем classpath

Нет во всех других случаях.Поскольку многие плагины используют, по крайней мере, основные концепции OSGI / Equinox (имеют активатор), их будет довольно сложно использовать в автономном Java-приложении.

Например, SWT можно использовать вне затмения.

0 голосов
/ 16 июля 2010

Плагины Eclipse - это пакеты OSGi.

Пакеты OSGi - это файлы JAR с дополнительной информацией в META-INF, которая объявляет об экспорте и импорте.Иногда они вызывают API-интерфейсы OSGi.

Многие плагины Eclipse зависят от других специфичных для Eclipse плагинов.

Если вы используете OSGi в своей среде, вы можете легко повторно использовать те плагины, которые не имеют зависимостей Eclipse.,Если ваше приложение не OSGi, вы можете легко повторно использовать только те приложения, которые исключают прямое использование OSGi API.

0 голосов
/ 16 июля 2010

Да, конечно, вам просто нужно позаботиться о том, чтобы правильно развернуть jar-файлы плагина в вашем проекте.

0 голосов
/ 16 июля 2010

Хорошо спроектированные плагины разделены на пользовательский интерфейс и «основные» части.Возможно, вы захотите взять только основной компонент.И вам, возможно, понадобится предоставить среду OSGi для правильной загрузки и активации плагина тоже - в зависимости от того, насколько он сложен.

Как уже упоминали другие, не забывайте зависимости.

0 голосов
/ 16 июля 2010

Вы должны заглянуть в свой каталог eclipse. В папке плагинов вы найдете много файлов .jar. Конечно, вы можете использовать их как зависимости в вашем проекте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...